Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
f10bae4
fix: fix OpenAPI spec response validation errors from error log analysis
claude Mar 30, 2026
a2c8459
fix(openapi): use oneOf with required type discriminator for error re…
claude Mar 30, 2026
d1088d9
fix(openapi): use anyOf for ambiguous env-var error schemas
claude Mar 30, 2026
1ede663
fix: revert actor 404 responses to anyOf; add record-not-found to Act…
claude Mar 30, 2026
c576303
fix: remove date-time type constraint from finishedAt fields; add wil…
claude Mar 31, 2026
f990c58
Revert "fix: remove date-time type constraint from finishedAt fields;…
claude Mar 31, 2026
8073692
fix: add wildcard content type to KV records GET 200 response
claude Mar 31, 2026
bf45b1c
fix: replace application/json with */* for KV records GET 200 response
claude Mar 31, 2026
8dfbf3d
fix(openapi): fix validation errors in OpenAPI spec
claude Mar 31, 2026
f3f8b86
revert(openapi): remove incorrect 403 from builds/{buildId}/openapi.json
claude Mar 31, 2026
0c26b92
fix: fix OpenAPI spec validation errors
claude Mar 31, 2026
080c6b8
fix: additional OpenAPI spec validation fixes
claude Mar 31, 2026
5d07a8f
fix(openapi): inline \$ref-in-anyOf, fix type arrays, remove strict r…
claude Apr 1, 2026
3b6c7a9
revert: undo preemptive type:[X,null] → anyOf conversions; add valida…
claude Apr 1, 2026
525211f
revert: remove Known validator false positives from AGENTS.md
claude Apr 1, 2026
6d817db
revert: restore format: date-time on startedAfter/startedBefore (vali…
claude Apr 1, 2026
2bfcf46
fix(openapi): fix oneOf validation failures and $ref-in-anyOf for sto…
claude Apr 1, 2026
e3bc115
refactor(openapi): remove orphaned TaggedBuildInfo component
claude Apr 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ shared: &shared
content:
application/json:
schema:
oneOf:
anyOf:
- $ref: "../../schemas/common/errors/ActorErrors.yaml#/ActorNotFoundError"
- $ref: "../../schemas/common/errors/ActorErrors.yaml#/ActorVersionNotFoundError"
- $ref: "../../schemas/common/errors/EnvVariableErrors.yaml#/EnvironmentVariableNotFoundError"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ shared: &shared
- gzip
- deflate
- br
- identity
type: string
requestBody:
description: ""
Expand Down
9 changes: 9 additions & 0 deletions apify-api/openapi/components/responses/PaymentRequired.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Payment Required - the account does not have sufficient credits to perform this action.
content:
application/json:
schema:
$ref: ../schemas/common/ErrorResponse.yaml
example:
error:
type: insufficient-credits
message: The account does not have sufficient credits to run the Actor.
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
title: CommonActorPricingInfo
type: object
required:
- apifyMarginPercentage
- createdAt
- startedAt
properties:
apifyMarginPercentage:
type: number
Expand All @@ -17,13 +13,19 @@ properties:
format: date-time
description: Since when is this pricing info record effective for a given Actor
notifiedAboutFutureChangeAt:
type: [string, "null"]
format: date-time
x-internal: true
anyOf:
- type: string
format: date-time
- type: "null"
notifiedAboutChangeAt:
type: [string, "null"]
format: date-time
x-internal: true
anyOf:
- type: string
format: date-time
- type: "null"
reasonForChange:
type: [string, "null"]
x-internal: true
anyOf:
- type: string
- type: "null"
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ allOf:
- type: object
required:
- pricingModel
- pricePerUnitUsd
- trialMinutes
properties:
pricingModel:
$ref: ./PricingModel.yaml
type: string
enum: [FLAT_PRICE_PER_MONTH]
trialMinutes:
type: integer
description: For how long this Actor can be used for free in trial period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ allOf:
- pricingModel
properties:
pricingModel:
$ref: ./PricingModel.yaml
type: string
enum: [FREE]
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ allOf:
- type: object
required:
- pricingModel
- pricingPerEvent
properties:
pricingModel:
$ref: ./PricingModel.yaml
type: string
enum: [PAY_PER_EVENT]
pricingPerEvent:
type: object
properties:
Expand All @@ -16,4 +16,6 @@ allOf:
additionalProperties:
$ref: ./ActorChargeEvent.yaml
minimalMaxTotalChargeUsd:
type: [number, "null"]
anyOf:
- type: number
- type: "null"
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,23 @@ allOf:
- type: object
required:
- pricingModel
- pricePerUnitUsd
- unitName
properties:
pricingModel:
$ref: ./PricingModel.yaml
type: string
enum: [PRICE_PER_DATASET_ITEM]
unitName:
type: string
description: Name of the unit that is being charged
pricePerUnitUsd:
type: number
description: Price per unit in USD (for flat-rate pricing)
tieredPricing:
type: array
description: Tiered pricing configuration (for tiered pricing)
items:
type: object
properties:
fromUnitCount:
type: integer
pricePerUnitUsd:
type: number
38 changes: 28 additions & 10 deletions apify-api/openapi/components/schemas/actor-runs/Run.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,38 @@ properties:
examples: [7sT5jcggjjA9fNcxF]
description: ID of the user who started the run.
actorTaskId:
type: [string, "null"]
examples: [KJHSKHausidyaJKHs]
description: ID of the Actor task, if the run was started from a task.
anyOf:
- type: string
- type: "null"
startedAt:
type: string
format: date-time
examples: ["2019-11-30T07:34:24.202Z"]
description: Time when the Actor run started.
finishedAt:
type: [string, "null"]
format: date-time
examples: ["2019-12-12T09:30:12.202Z"]
description: Time when the Actor run finished.
anyOf:
- type: string
format: date-time
- type: "null"
status:
description: Current status of the Actor run.
$ref: ../common/ActorJobStatus.yaml
statusMessage:
type: [string, "null"]
examples: [Actor is running]
description: Detailed message about the run status.
anyOf:
- type: string
- type: "null"
isStatusMessageTerminal:
type: [boolean, "null"]
examples: [false]
description: Whether the status message is terminal (final).
anyOf:
- type: boolean
- type: "null"
meta:
description: Metadata about the Actor run.
$ref: ./RunMeta.yaml
Expand All @@ -79,9 +87,11 @@ properties:
examples: [7sT5jcggjjA9fNcxF]
description: ID of the Actor build used for this run.
exitCode:
type: [integer, "null"]
examples: [0]
description: Exit code of the Actor run process.
anyOf:
- type: integer
- type: "null"
generalAccess:
description: General access level for the Actor run.
$ref: ../common/GeneralAccess.yaml
Expand Down Expand Up @@ -132,35 +142,43 @@ properties:
additionalProperties:
type: string
buildNumber:
type: string
examples: [0.0.36]
description: Build number of the Actor build used for this run.
anyOf:
- type: string
- type: "null"
containerUrl:
type: string
format: uri
examples: ["https://g8kd8kbc5ge8.runs.apify.net"]
description: URL of the container running the Actor.
isContainerServerReady:
type: [boolean, "null"]
examples: [true]
description: Whether the container's HTTP server is ready to accept requests.
anyOf:
- type: boolean
- type: "null"
gitBranchName:
type: [string, "null"]
examples: [master]
description: Name of the git branch used for the Actor build.
anyOf:
- type: string
- type: "null"
usage:
description: Resource usage statistics for the run.
anyOf:
- $ref: ./RunUsage.yaml
- type: "null"
usageTotalUsd:
type: [number, "null"]
examples: [0.2654]
description: >-
Total cost in USD for this run. Represents what you actually pay.
For run owners: includes platform usage (compute units) and/or event costs depending on the Actor's pricing model.
For run non-owners: only available for Pay-Per-Event Actors (event costs only).
Not available for Pay-Per-Result Actors when you're not the Actor owner.
anyOf:
- type: number
- type: "null"
usageUsd:
description: >-
Platform usage costs breakdown in USD. Only present if you own the run AND are paying for platform usage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ properties:
minimum: 0
examples: [2048]
maxItems:
type: integer
type: [integer, "null"]
minimum: 1
examples: [1000]
maxTotalChargeUsd:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ required:
type: object
properties:
inputBodyLen:
type: integer
minimum: 0
examples: [240]
anyOf:
- type: integer
minimum: 0
- type: "null"
migrationCount:
type: integer
minimum: 0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
title: CreateTaskRequest
required:
- actId
- name
type: object
properties:
actId:
Expand All @@ -16,10 +15,13 @@ properties:
- type: "null"
input:
anyOf:
- $ref: ./TaskInput.yaml
- type: object
additionalProperties: true
- type: "null"
title:
type: [string, "null"]
anyOf:
- type: string
- type: "null"
actorStandby:
anyOf:
- $ref: ../actors/ActorStandby.yaml
Expand Down
23 changes: 16 additions & 7 deletions apify-api/openapi/components/schemas/actor-tasks/Task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ properties:
type: string
examples: [my-task]
username:
type: [string, "null"]
anyOf:
- type: string
- type: "null"
examples: [janedoe]
createdAt:
type: string
Expand All @@ -32,8 +34,10 @@ properties:
format: date-time
examples: ["2018-10-26T13:30:49.578Z"]
removedAt:
type: [string, "null"]
format: date-time
anyOf:
- type: string
format: date-time
- type: "null"
stats:
anyOf:
- $ref: ./TaskStats.yaml
Expand All @@ -44,14 +48,19 @@ properties:
- type: "null"
input:
anyOf:
- $ref: ./TaskInput.yaml
- type: object
additionalProperties: true
- type: "null"
title:
type: [string, "null"]
anyOf:
- type: string
- type: "null"
actorStandby:
anyOf:
- $ref: ../actors/ActorStandby.yaml
- type: "null"
standbyUrl:
type: [string, "null"]
format: uri
anyOf:
- type: string
format: uri
- type: "null"
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ properties:
- type: "null"
input:
anyOf:
- $ref: ./TaskInput.yaml
- type: object
additionalProperties: true
- type: "null"
title:
type: [string, "null"]
anyOf:
- type: string
- type: "null"
actorStandby:
anyOf:
- $ref: ../actors/ActorStandby.yaml
Expand Down
5 changes: 3 additions & 2 deletions apify-api/openapi/components/schemas/actors/EnvVar.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
title: EnvVar
required:
- name
- value
type: object
properties:
name:
Expand All @@ -11,5 +10,7 @@ properties:
type: string
examples: [my-value]
isSecret:
type: [boolean, "null"]
examples: [false]
anyOf:
- type: boolean
- type: "null"
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
title: SourceCodeFile
type: object
required:
- format
- content
- name
properties:
Expand Down

This file was deleted.

Loading