From bf0439efd591f5b6ee54cdc2f3fabee8174e7cab Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Fri, 16 Oct 2026 13:57:20 +0200 Subject: [PATCH 01/26] docs(api): add missing fields to the Actor and schedule request schemas --- .../components/schemas/actors/CreateActorRequest.yaml | 4 ++++ .../schemas/schedules/CreateOrUpdateScheduleRequest.yaml | 4 ++++ .../openapi/components/schemas/schedules/Schedule.yaml | 8 +------- .../schemas/schedules/ScheduleNotifications.yaml | 7 +++++++ 4 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 apify-api/openapi/components/schemas/schedules/ScheduleNotifications.yaml diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index 13f1aab6cc..34527ae6bb 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -21,6 +21,10 @@ properties: examples: [false] description: Whether the Actor is available to users in Apify Store. If `false`, the Actor is private and only visible to you. + actorPermissionLevel: + anyOf: + - $ref: ./ActorPermissionLevel.yaml + - type: "null" seoTitle: type: [string, "null"] examples: [Free Instagram scraper] diff --git a/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml b/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml index 92f864454a..80284fd9e7 100644 --- a/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml +++ b/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml @@ -21,6 +21,10 @@ properties: examples: [Schedule of actor ...] title: type: [string, "null"] + notifications: + anyOf: + - $ref: ./ScheduleNotifications.yaml + - type: "null" actions: type: [array, "null"] items: diff --git a/apify-api/openapi/components/schemas/schedules/Schedule.yaml b/apify-api/openapi/components/schemas/schedules/Schedule.yaml index bb31fc0dda..b7184f7914 100644 --- a/apify-api/openapi/components/schemas/schedules/Schedule.yaml +++ b/apify-api/openapi/components/schemas/schedules/Schedule.yaml @@ -26,13 +26,7 @@ Schedule: title: type: [string, "null"] notifications: - title: ScheduleNotifications - type: object - description: Notification settings for this schedule. - properties: - email: - type: boolean - examples: [true] + $ref: ./ScheduleNotifications.yaml actions: type: array items: diff --git a/apify-api/openapi/components/schemas/schedules/ScheduleNotifications.yaml b/apify-api/openapi/components/schemas/schedules/ScheduleNotifications.yaml new file mode 100644 index 0000000000..352aac47fc --- /dev/null +++ b/apify-api/openapi/components/schemas/schedules/ScheduleNotifications.yaml @@ -0,0 +1,7 @@ +title: ScheduleNotifications +type: object +description: Notification settings for this schedule. +properties: + email: + type: boolean + examples: [true] From 1441f0edd373bc59ce8ab9b061978238e67b80be Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 09:41:13 +0200 Subject: [PATCH 02/26] docs(api): define EnvVarRequest as a standalone schema --- .../schemas/actors/EnvVarRequest.yaml | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml b/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml index 1e2e1a97e6..3f656d5200 100644 --- a/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml @@ -1,5 +1,18 @@ title: EnvVarRequest -allOf: - - $ref: ./EnvVar.yaml - - required: - - value +required: + - name + - value +type: object +properties: + name: + type: string + examples: [MY_ENV_VAR] + description: The name of the environment variable. + value: + type: string + examples: [my-value] + description: The value of the environment variable. + isSecret: + type: [boolean, "null"] + examples: [false] + description: Whether the environment variable is encrypted. Secret values aren't returned by the API. From 0d16c885dc2eb46e38ed487a10e7b6fe4c08a8c1 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 09:41:36 +0200 Subject: [PATCH 03/26] docs(api): drop null from actorPermissionLevel and notifications in create requests --- .../openapi/components/schemas/actors/CreateActorRequest.yaml | 4 +--- .../schemas/schedules/CreateOrUpdateScheduleRequest.yaml | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index 34527ae6bb..b6cd06986c 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -22,9 +22,7 @@ properties: description: Whether the Actor is available to users in Apify Store. If `false`, the Actor is private and only visible to you. actorPermissionLevel: - anyOf: - - $ref: ./ActorPermissionLevel.yaml - - type: "null" + $ref: ./ActorPermissionLevel.yaml seoTitle: type: [string, "null"] examples: [Free Instagram scraper] diff --git a/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml b/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml index 80284fd9e7..950d959546 100644 --- a/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml +++ b/apify-api/openapi/components/schemas/schedules/CreateOrUpdateScheduleRequest.yaml @@ -22,9 +22,7 @@ properties: title: type: [string, "null"] notifications: - anyOf: - - $ref: ./ScheduleNotifications.yaml - - type: "null" + $ref: ./ScheduleNotifications.yaml actions: type: [array, "null"] items: From 81998fe03a4f42c5db1927f336a67fa08842a1f0 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 09:41:44 +0200 Subject: [PATCH 04/26] docs(api): drop null from isPublic and versions in CreateActorRequest --- .../components/schemas/actors/CreateActorRequest.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index b6cd06986c..784ee1f17e 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -17,7 +17,7 @@ properties: Can contain spaces and capital letters. Recommended length is 40-50 characters. You can change this title without affecting the Actor's URL or SEO. isPublic: - type: [boolean, "null"] + type: boolean examples: [false] description: Whether the Actor is available to users in Apify Store. If `false`, the Actor is private and only visible to you. @@ -38,11 +38,9 @@ properties: examples: [false] deprecated: true # Use defaultRunOptions.restartOnError instead versions: - anyOf: - - type: array - items: - $ref: ./Version.yaml - - type: "null" + type: array + items: + $ref: ./Version.yaml description: "An array of `Version` objects. Each object represents a specific version of the Actor's source code: its location, builds, and environment configuration." categories: From 0ef03636d810281cbe355e08f14b31c7a86b9a7c Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 09:42:20 +0200 Subject: [PATCH 05/26] docs(api): use EnvVarRequest for envVars in CreateOrUpdateVersionRequest --- .../components/schemas/actors/CreateOrUpdateVersionRequest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateOrUpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateOrUpdateVersionRequest.yaml index cbb1b1046e..0b8a44bda6 100644 --- a/apify-api/openapi/components/schemas/actors/CreateOrUpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateOrUpdateVersionRequest.yaml @@ -16,7 +16,7 @@ properties: anyOf: - type: array items: - $ref: ./EnvVar.yaml + $ref: ./EnvVarRequest.yaml - type: "null" description: Environment variables for the version. applyEnvVarsToBuild: From e78ea9f92b9f069104b89fe33286c1985705e597 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 11:31:18 +0200 Subject: [PATCH 06/26] docs(api): use CreateOrUpdateVersionRequest for versions in CreateActorRequest --- .../openapi/components/schemas/actors/CreateActorRequest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index 784ee1f17e..a064779a29 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -40,7 +40,7 @@ properties: versions: type: array items: - $ref: ./Version.yaml + $ref: ./CreateOrUpdateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the Actor's source code: its location, builds, and environment configuration." categories: From 4afac3d864b14d984ae2dcca36f82a5450d107ca Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 12:13:14 +0200 Subject: [PATCH 07/26] docs(api): require versionNumber and sourceType on versions in CreateActorRequest --- .../schemas/actors/CreateActorRequest.yaml | 2 +- .../schemas/actors/CreateActorVersionRequest.yaml | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index a064779a29..dca4b8f8a3 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -40,7 +40,7 @@ properties: versions: type: array items: - $ref: ./CreateOrUpdateVersionRequest.yaml + $ref: ./CreateActorVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the Actor's source code: its location, builds, and environment configuration." categories: diff --git a/apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml new file mode 100644 index 0000000000..c394ef07e0 --- /dev/null +++ b/apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml @@ -0,0 +1,13 @@ +title: CreateActorVersionRequest +description: A version created together with the Actor. `versionNumber` and `sourceType` are required and can't be `null`. +allOf: + - $ref: ./CreateOrUpdateVersionRequest.yaml + - type: object + required: + - versionNumber + - sourceType + properties: + versionNumber: + type: string + sourceType: + $ref: ./VersionSourceType.yaml From 301276f1734dbe6305edef9d05538e10b6a56d00 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 12:36:37 +0200 Subject: [PATCH 08/26] docs(api): split CreateOrUpdateVersionRequest into create and update schemas --- ...{actorId}@versions@{versionNumber}put.yaml | 2 +- .../schemas/actors/CreateActorRequest.yaml | 2 +- .../actors/CreateActorVersionRequest.yaml | 13 ------ ...Request.yaml => CreateVersionRequest.yaml} | 11 ++--- .../schemas/actors/UpdateActorRequest.yaml | 2 +- .../schemas/actors/UpdateVersionRequest.yaml | 40 +++++++++++++++++++ .../paths/actors/acts@{actorId}@versions.yaml | 2 +- 7 files changed, 50 insertions(+), 22 deletions(-) delete mode 100644 apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml rename apify-api/openapi/components/schemas/actors/{CreateOrUpdateVersionRequest.yaml => CreateVersionRequest.yaml} (91%) create mode 100644 apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml diff --git a/apify-api/openapi/components/objects/actors/acts@{actorId}@versions@{versionNumber}put.yaml b/apify-api/openapi/components/objects/actors/acts@{actorId}@versions@{versionNumber}put.yaml index d27decd93e..8b470b3763 100644 --- a/apify-api/openapi/components/objects/actors/acts@{actorId}@versions@{versionNumber}put.yaml +++ b/apify-api/openapi/components/objects/actors/acts@{actorId}@versions@{versionNumber}put.yaml @@ -9,7 +9,7 @@ shared: &shared content: application/json: schema: - $ref: ../../schemas/actors/CreateOrUpdateVersionRequest.yaml + $ref: ../../schemas/actors/UpdateVersionRequest.yaml example: versionNumber: "0.0" sourceType: SOURCE_FILES diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index dca4b8f8a3..03bee92697 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -40,7 +40,7 @@ properties: versions: type: array items: - $ref: ./CreateActorVersionRequest.yaml + $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the Actor's source code: its location, builds, and environment configuration." categories: diff --git a/apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml deleted file mode 100644 index c394ef07e0..0000000000 --- a/apify-api/openapi/components/schemas/actors/CreateActorVersionRequest.yaml +++ /dev/null @@ -1,13 +0,0 @@ -title: CreateActorVersionRequest -description: A version created together with the Actor. `versionNumber` and `sourceType` are required and can't be `null`. -allOf: - - $ref: ./CreateOrUpdateVersionRequest.yaml - - type: object - required: - - versionNumber - - sourceType - properties: - versionNumber: - type: string - sourceType: - $ref: ./VersionSourceType.yaml diff --git a/apify-api/openapi/components/schemas/actors/CreateOrUpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml similarity index 91% rename from apify-api/openapi/components/schemas/actors/CreateOrUpdateVersionRequest.yaml rename to apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index 0b8a44bda6..a5509f1483 100644 --- a/apify-api/openapi/components/schemas/actors/CreateOrUpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -1,16 +1,17 @@ -title: CreateOrUpdateVersionRequest +title: CreateVersionRequest +required: + - versionNumber + - sourceType type: object properties: versionNumber: - type: [string, "null"] + type: string pattern: ^([0-9]|[1-9][0-9])\.([0-9]|[1-9][0-9])$ examples: ["1.6"] description: The version number of the Actor. Two numbers separated by a dot, that represent the `MAJOR.MINOR` part of the semantic versioning. sourceType: - anyOf: - - $ref: ./VersionSourceType.yaml - - type: "null" + $ref: ./VersionSourceType.yaml description: Where the source code of the version lives. envVars: anyOf: diff --git a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml index 506150c643..80e53d070b 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml @@ -42,7 +42,7 @@ properties: versions: type: array items: - $ref: ./CreateOrUpdateVersionRequest.yaml + $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the Actor's source code: its location, builds, and environment configuration." pricingInfos: diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml new file mode 100644 index 0000000000..a35afe31fe --- /dev/null +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -0,0 +1,40 @@ +title: UpdateVersionRequest +type: object +properties: + versionNumber: + type: string + pattern: ^([0-9]|[1-9][0-9])\.([0-9]|[1-9][0-9])$ + examples: ["1.6"] + description: The version number of the Actor. Two numbers separated by a dot, + that represent the `MAJOR.MINOR` part of the semantic versioning. + sourceType: + $ref: ./VersionSourceType.yaml + description: Where the source code of the version lives. + envVars: + anyOf: + - type: array + items: + $ref: ./EnvVarRequest.yaml + - type: "null" + description: Environment variables for the version. + applyEnvVarsToBuild: + type: [boolean, "null"] + examples: [false] + description: Whether to inject the environment variables at build time. + buildTag: + type: [string, "null"] + examples: [latest] + description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. + sourceFiles: + $ref: ./VersionSourceFiles.yaml + description: Applies when the `sourceType` is `SOURCE_FILES`. Represents the Actor's + file structure as an array of files and folders. + gitRepoUrl: + type: [string, "null"] + description: URL of the Git repository to clone the source code from. Applies when the `sourceType` is `GIT_REPO`. + tarballUrl: + type: [string, "null"] + description: URL of the tarball to download the source code from. Applies when the `sourceType` is `TARBALL`. + gitHubGistUrl: + type: [string, "null"] + description: URL of the GitHub Gist to clone the source code from. Applies when the `sourceType` is `GITHUB_GIST`. diff --git a/apify-api/openapi/paths/actors/acts@{actorId}@versions.yaml b/apify-api/openapi/paths/actors/acts@{actorId}@versions.yaml index 3d71057676..4213e54538 100644 --- a/apify-api/openapi/paths/actors/acts@{actorId}@versions.yaml +++ b/apify-api/openapi/paths/actors/acts@{actorId}@versions.yaml @@ -107,7 +107,7 @@ post: content: application/json: schema: - $ref: ../../components/schemas/actors/CreateOrUpdateVersionRequest.yaml + $ref: ../../components/schemas/actors/CreateVersionRequest.yaml example: versionNumber: "0.1" sourceType: GIT_REPO From f7f64a38498792cb7bf6f33571c242f1e2a1ff23 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:02:18 +0200 Subject: [PATCH 09/26] docs(api): reject SOURCE_CODE in version request schemas --- .../components/schemas/actors/CreateVersionRequest.yaml | 2 +- .../components/schemas/actors/UpdateVersionRequest.yaml | 2 +- .../schemas/actors/VersionSourceTypeRequest.yaml | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 apify-api/openapi/components/schemas/actors/VersionSourceTypeRequest.yaml diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index a5509f1483..9899c74a0d 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -11,7 +11,7 @@ properties: description: The version number of the Actor. Two numbers separated by a dot, that represent the `MAJOR.MINOR` part of the semantic versioning. sourceType: - $ref: ./VersionSourceType.yaml + $ref: ./VersionSourceTypeRequest.yaml description: Where the source code of the version lives. envVars: anyOf: diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index a35afe31fe..21b081d07f 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -8,7 +8,7 @@ properties: description: The version number of the Actor. Two numbers separated by a dot, that represent the `MAJOR.MINOR` part of the semantic versioning. sourceType: - $ref: ./VersionSourceType.yaml + $ref: ./VersionSourceTypeRequest.yaml description: Where the source code of the version lives. envVars: anyOf: diff --git a/apify-api/openapi/components/schemas/actors/VersionSourceTypeRequest.yaml b/apify-api/openapi/components/schemas/actors/VersionSourceTypeRequest.yaml new file mode 100644 index 0000000000..01d7b47fbe --- /dev/null +++ b/apify-api/openapi/components/schemas/actors/VersionSourceTypeRequest.yaml @@ -0,0 +1,8 @@ +title: VersionSourceTypeRequest +description: The version source types accepted in request bodies. Same as `VersionSourceType`, without `SOURCE_CODE`. +enum: + - SOURCE_FILES + - GIT_REPO + - TARBALL + - GITHUB_GIST +type: string From 401d52a9506a000956c36c8e93c9e9901b4fd129 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:04:48 +0200 Subject: [PATCH 10/26] docs(api): rename VersionSourceTypeRequest to WritableVersionSourceType --- .../openapi/components/schemas/actors/CreateVersionRequest.yaml | 2 +- .../openapi/components/schemas/actors/UpdateVersionRequest.yaml | 2 +- ...ionSourceTypeRequest.yaml => WritableVersionSourceType.yaml} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename apify-api/openapi/components/schemas/actors/{VersionSourceTypeRequest.yaml => WritableVersionSourceType.yaml} (85%) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index 9899c74a0d..6fb6e92e1e 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -11,7 +11,7 @@ properties: description: The version number of the Actor. Two numbers separated by a dot, that represent the `MAJOR.MINOR` part of the semantic versioning. sourceType: - $ref: ./VersionSourceTypeRequest.yaml + $ref: ./WritableVersionSourceType.yaml description: Where the source code of the version lives. envVars: anyOf: diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 21b081d07f..69f7a0f478 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -8,7 +8,7 @@ properties: description: The version number of the Actor. Two numbers separated by a dot, that represent the `MAJOR.MINOR` part of the semantic versioning. sourceType: - $ref: ./VersionSourceTypeRequest.yaml + $ref: ./WritableVersionSourceType.yaml description: Where the source code of the version lives. envVars: anyOf: diff --git a/apify-api/openapi/components/schemas/actors/VersionSourceTypeRequest.yaml b/apify-api/openapi/components/schemas/actors/WritableVersionSourceType.yaml similarity index 85% rename from apify-api/openapi/components/schemas/actors/VersionSourceTypeRequest.yaml rename to apify-api/openapi/components/schemas/actors/WritableVersionSourceType.yaml index 01d7b47fbe..e1aaacad92 100644 --- a/apify-api/openapi/components/schemas/actors/VersionSourceTypeRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/WritableVersionSourceType.yaml @@ -1,4 +1,4 @@ -title: VersionSourceTypeRequest +title: WritableVersionSourceType description: The version source types accepted in request bodies. Same as `VersionSourceType`, without `SOURCE_CODE`. enum: - SOURCE_FILES From c1c6c6550cb800c2ddeab003c58618b382799756 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:29:44 +0200 Subject: [PATCH 11/26] docs(api): require at least one version in the Actor request schemas --- .../openapi/components/schemas/actors/CreateActorRequest.yaml | 1 + .../openapi/components/schemas/actors/UpdateActorRequest.yaml | 1 + apify-api/openapi/paths/actors/acts@{actorId}.yaml | 3 --- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index 03bee92697..be7630f575 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -39,6 +39,7 @@ properties: deprecated: true # Use defaultRunOptions.restartOnError instead versions: type: array + minItems: 1 items: $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the diff --git a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml index 80e53d070b..4f5b1fc433 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml @@ -41,6 +41,7 @@ properties: deprecated: true # Use defaultRunOptions.restartOnError instead versions: type: array + minItems: 1 items: $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the diff --git a/apify-api/openapi/paths/actors/acts@{actorId}.yaml b/apify-api/openapi/paths/actors/acts@{actorId}.yaml index 9e8be28120..355d119ef5 100644 --- a/apify-api/openapi/paths/actors/acts@{actorId}.yaml +++ b/apify-api/openapi/paths/actors/acts@{actorId}.yaml @@ -205,7 +205,6 @@ put: value: name: MyActor isPublic: false - versions: [] taggedBuilds: latest: buildId: z2EryhbfhgSyqj6Hn @@ -214,7 +213,6 @@ put: value: name: MyActor isPublic: false - versions: [] taggedBuilds: latest: null taggedBuildsMultipleOperations: @@ -222,7 +220,6 @@ put: value: name: MyActor isPublic: false - versions: [] taggedBuilds: latest: buildId: z2EryhbfhgSyqj6Hn From 4d0e6829e361f7de56596d795e89e59fec92480d Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:29:44 +0200 Subject: [PATCH 12/26] docs(api): drop null from actorPermissionLevel in UpdateActorRequest --- .../openapi/components/schemas/actors/UpdateActorRequest.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml index 4f5b1fc433..6c6b3c2dac 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml @@ -16,9 +16,7 @@ properties: description: Whether the Actor is available to users in Apify Store. If `false`, the Actor is private and only visible to you. actorPermissionLevel: - anyOf: - - $ref: ./ActorPermissionLevel.yaml - - type: "null" + $ref: ./ActorPermissionLevel.yaml seoTitle: type: [string, "null"] examples: [Free Instagram scraper] From 43e9f1f61b3ef096e4ccd346968a4e633c4693f5 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:29:44 +0200 Subject: [PATCH 13/26] docs(api): require the source field matching sourceType in CreateVersionRequest --- .../schemas/actors/CreateVersionRequest.yaml | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index 6fb6e92e1e..7a726a4000 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -30,14 +30,43 @@ properties: description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: $ref: ./VersionSourceFiles.yaml - description: Applies when the `sourceType` is `SOURCE_FILES`. Represents the Actor's + description: Required when the `sourceType` is `SOURCE_FILES`. Represents the Actor's file structure as an array of files and folders. gitRepoUrl: - type: [string, "null"] - description: URL of the Git repository to clone the source code from. Applies when the `sourceType` is `GIT_REPO`. + type: string + description: URL of the Git repository to clone the source code from. Required when the `sourceType` is `GIT_REPO`. tarballUrl: - type: [string, "null"] - description: URL of the tarball to download the source code from. Applies when the `sourceType` is `TARBALL`. + type: string + description: URL of the tarball to download the source code from. Required when the `sourceType` is `TARBALL`. gitHubGistUrl: - type: [string, "null"] - description: URL of the GitHub Gist to clone the source code from. Applies when the `sourceType` is `GITHUB_GIST`. + type: string + description: URL of the GitHub Gist to clone the source code from. Required when the `sourceType` is `GITHUB_GIST`. +allOf: + - if: + properties: + sourceType: + const: SOURCE_FILES + then: + required: + - sourceFiles + - if: + properties: + sourceType: + const: GIT_REPO + then: + required: + - gitRepoUrl + - if: + properties: + sourceType: + const: TARBALL + then: + required: + - tarballUrl + - if: + properties: + sourceType: + const: GITHUB_GIST + then: + required: + - gitHubGistUrl From 540de31b63c57267591c50480185b043a3700052 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:41:18 +0200 Subject: [PATCH 14/26] docs(api): cap versions at 10 in the Actor request schemas --- .../openapi/components/schemas/actors/CreateActorRequest.yaml | 1 + .../openapi/components/schemas/actors/UpdateActorRequest.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index be7630f575..64044554f5 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -40,6 +40,7 @@ properties: versions: type: array minItems: 1 + maxItems: 10 items: $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the diff --git a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml index 6c6b3c2dac..ca7eb2b934 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml @@ -40,6 +40,7 @@ properties: versions: type: array minItems: 1 + maxItems: 10 items: $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the From 2d5dec4e7345a93347ef2d268caccb9b08d92bd3 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:45:42 +0200 Subject: [PATCH 15/26] docs(api): drop null from source URLs in UpdateVersionRequest --- .../components/schemas/actors/UpdateVersionRequest.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 69f7a0f478..e9fb791335 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -30,11 +30,11 @@ properties: description: Applies when the `sourceType` is `SOURCE_FILES`. Represents the Actor's file structure as an array of files and folders. gitRepoUrl: - type: [string, "null"] + type: string description: URL of the Git repository to clone the source code from. Applies when the `sourceType` is `GIT_REPO`. tarballUrl: - type: [string, "null"] + type: string description: URL of the tarball to download the source code from. Applies when the `sourceType` is `TARBALL`. gitHubGistUrl: - type: [string, "null"] + type: string description: URL of the GitHub Gist to clone the source code from. Applies when the `sourceType` is `GITHUB_GIST`. From a6b8c7258afb395d32e29cc20d9f9d42c8b5b841 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:50:32 +0200 Subject: [PATCH 16/26] docs(api): drop null from envVars in the version request schemas --- .../components/schemas/actors/CreateVersionRequest.yaml | 9 ++++----- .../components/schemas/actors/UpdateVersionRequest.yaml | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index 7a726a4000..8633932b39 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -14,11 +14,10 @@ properties: $ref: ./WritableVersionSourceType.yaml description: Where the source code of the version lives. envVars: - anyOf: - - type: array - items: - $ref: ./EnvVarRequest.yaml - - type: "null" + type: array + maxItems: 100 + items: + $ref: ./EnvVarRequest.yaml description: Environment variables for the version. applyEnvVarsToBuild: type: [boolean, "null"] diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index e9fb791335..6439db31ba 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -11,11 +11,10 @@ properties: $ref: ./WritableVersionSourceType.yaml description: Where the source code of the version lives. envVars: - anyOf: - - type: array - items: - $ref: ./EnvVarRequest.yaml - - type: "null" + type: array + maxItems: 100 + items: + $ref: ./EnvVarRequest.yaml description: Environment variables for the version. applyEnvVarsToBuild: type: [boolean, "null"] From 5e45e7970e9b45f756a4d389d2396eeab11831ec Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:53:42 +0200 Subject: [PATCH 17/26] docs(api): require the matching source field when UpdateVersionRequest sets sourceType --- .../schemas/actors/UpdateVersionRequest.yaml | 45 +++++++++++++++++-- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 6439db31ba..512b7b459f 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -26,14 +26,51 @@ properties: description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: $ref: ./VersionSourceFiles.yaml - description: Applies when the `sourceType` is `SOURCE_FILES`. Represents the Actor's + description: Required when the request sets `sourceType` to `SOURCE_FILES`. Represents the Actor's file structure as an array of files and folders. gitRepoUrl: type: string - description: URL of the Git repository to clone the source code from. Applies when the `sourceType` is `GIT_REPO`. + description: URL of the Git repository to clone the source code from. Required when the request sets `sourceType` to `GIT_REPO`. tarballUrl: type: string - description: URL of the tarball to download the source code from. Applies when the `sourceType` is `TARBALL`. + description: URL of the tarball to download the source code from. Required when the request sets `sourceType` to `TARBALL`. gitHubGistUrl: type: string - description: URL of the GitHub Gist to clone the source code from. Applies when the `sourceType` is `GITHUB_GIST`. + description: URL of the GitHub Gist to clone the source code from. Required when the request sets `sourceType` to `GITHUB_GIST`. +allOf: + - if: + required: + - sourceType + properties: + sourceType: + const: SOURCE_FILES + then: + required: + - sourceFiles + - if: + required: + - sourceType + properties: + sourceType: + const: GIT_REPO + then: + required: + - gitRepoUrl + - if: + required: + - sourceType + properties: + sourceType: + const: TARBALL + then: + required: + - tarballUrl + - if: + required: + - sourceType + properties: + sourceType: + const: GITHUB_GIST + then: + required: + - gitHubGistUrl From df888c0d8416e719b542de6f051e5db4d2093a59 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:59:38 +0200 Subject: [PATCH 18/26] docs(api): allow only false for isPublic in CreateActorRequest --- .../components/schemas/actors/CreateActorRequest.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index 64044554f5..c994c7e3bc 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -18,9 +18,9 @@ properties: You can change this title without affecting the Actor's URL or SEO. isPublic: type: boolean - examples: [false] - description: Whether the Actor is available to users in Apify Store. If `false`, the Actor is private - and only visible to you. + const: false + description: Whether the Actor is available to users in Apify Store. A new Actor is always private. + To publish it, build it first, then update it with `isPublic` set to `true`. actorPermissionLevel: $ref: ./ActorPermissionLevel.yaml seoTitle: From 08f48bcc34d885d08c2f4c39b165ddc4097f4447 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 13:59:38 +0200 Subject: [PATCH 19/26] docs(api): add the API's length and character limits to EnvVarRequest --- .../openapi/components/schemas/actors/EnvVarRequest.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml b/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml index 3f656d5200..bbefbe57cc 100644 --- a/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml @@ -6,10 +6,14 @@ type: object properties: name: type: string + minLength: 1 + maxLength: 100 + pattern: ^[^=]*$ examples: [MY_ENV_VAR] - description: The name of the environment variable. + description: The name of the environment variable. Can't contain `=`. value: type: string + maxLength: 50000 examples: [my-value] description: The value of the environment variable. isSecret: From 0f1773af9ffd5e13fcc492d3a5de284db6fff0ec Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 14:03:51 +0200 Subject: [PATCH 20/26] docs(api): add URL patterns to the version source fields --- .../components/schemas/actors/CreateVersionRequest.yaml | 3 +++ .../components/schemas/actors/UpdateVersionRequest.yaml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index 8633932b39..97e5a3bdf1 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -33,12 +33,15 @@ properties: file structure as an array of files and folders. gitRepoUrl: type: string + pattern: '^(?:https?://|git@)?[^/|:]+[/:]' description: URL of the Git repository to clone the source code from. Required when the `sourceType` is `GIT_REPO`. tarballUrl: type: string + pattern: '^(?:https?:)?//\S+' description: URL of the tarball to download the source code from. Required when the `sourceType` is `TARBALL`. gitHubGistUrl: type: string + pattern: '^https://gist\.github\.com/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' description: URL of the GitHub Gist to clone the source code from. Required when the `sourceType` is `GITHUB_GIST`. allOf: - if: diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 512b7b459f..71e7feef7d 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -30,12 +30,15 @@ properties: file structure as an array of files and folders. gitRepoUrl: type: string + pattern: '^(?:https?://|git@)?[^/|:]+[/:]' description: URL of the Git repository to clone the source code from. Required when the request sets `sourceType` to `GIT_REPO`. tarballUrl: type: string + pattern: '^(?:https?:)?//\S+' description: URL of the tarball to download the source code from. Required when the request sets `sourceType` to `TARBALL`. gitHubGistUrl: type: string + pattern: '^https://gist\.github\.com/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' description: URL of the GitHub Gist to clone the source code from. Required when the request sets `sourceType` to `GITHUB_GIST`. allOf: - if: From 2466f0b53399580379add6a1cf4c857fc58630e8 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 14:08:57 +0200 Subject: [PATCH 21/26] docs(api): add the API's buildTag limits to the version request schemas --- .../components/schemas/actors/CreateVersionRequest.yaml | 3 +++ .../components/schemas/actors/UpdateVersionRequest.yaml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index 97e5a3bdf1..850d897875 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -25,6 +25,9 @@ properties: description: Whether to inject the environment variables at build time. buildTag: type: [string, "null"] + minLength: 1 + maxLength: 30 + pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])$ examples: [latest] description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 71e7feef7d..9fd4c9fece 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -22,6 +22,9 @@ properties: description: Whether to inject the environment variables at build time. buildTag: type: [string, "null"] + minLength: 1 + maxLength: 30 + pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])$ examples: [latest] description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: From e11193510fa4f289973b9dfd0b01fd14425a1a45 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 14:13:56 +0200 Subject: [PATCH 22/26] docs(api): make the tarball and Gist URL patterns case-insensitive --- .../components/schemas/actors/CreateVersionRequest.yaml | 4 ++-- .../components/schemas/actors/UpdateVersionRequest.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index 850d897875..dec3f5cf17 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -40,11 +40,11 @@ properties: description: URL of the Git repository to clone the source code from. Required when the `sourceType` is `GIT_REPO`. tarballUrl: type: string - pattern: '^(?:https?:)?//\S+' + pattern: '^(?:[hH][tT][tT][pP][sS]?:)?//\S+' description: URL of the tarball to download the source code from. Required when the `sourceType` is `TARBALL`. gitHubGistUrl: type: string - pattern: '^https://gist\.github\.com/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' + pattern: '^[hH][tT][tT][pP][sS]://[gG][iI][sS][tT]\.[gG][iI][tT][hH][uU][bB]\.[cC][oO][mM]/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' description: URL of the GitHub Gist to clone the source code from. Required when the `sourceType` is `GITHUB_GIST`. allOf: - if: diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 9fd4c9fece..8816fa9f34 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -37,11 +37,11 @@ properties: description: URL of the Git repository to clone the source code from. Required when the request sets `sourceType` to `GIT_REPO`. tarballUrl: type: string - pattern: '^(?:https?:)?//\S+' + pattern: '^(?:[hH][tT][tT][pP][sS]?:)?//\S+' description: URL of the tarball to download the source code from. Required when the request sets `sourceType` to `TARBALL`. gitHubGistUrl: type: string - pattern: '^https://gist\.github\.com/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' + pattern: '^[hH][tT][tT][pP][sS]://[gG][iI][sS][tT]\.[gG][iI][tT][hH][uU][bB]\.[cC][oO][mM]/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' description: URL of the GitHub Gist to clone the source code from. Required when the request sets `sourceType` to `GITHUB_GIST`. allOf: - if: From f6ca46e1b9bfa949300ceed80a7952b3b5903de6 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 15:28:48 +0200 Subject: [PATCH 23/26] docs(api): allow any boolean for isPublic in CreateActorRequest --- .../openapi/components/schemas/actors/CreateActorRequest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index c994c7e3bc..f4465d3a67 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -18,7 +18,7 @@ properties: You can change this title without affecting the Actor's URL or SEO. isPublic: type: boolean - const: false + examples: [false] description: Whether the Actor is available to users in Apify Store. A new Actor is always private. To publish it, build it first, then update it with `isPublic` set to `true`. actorPermissionLevel: From 0cbfe1548bfac5ca765760b183749ea5cc0a999e Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 15:30:06 +0200 Subject: [PATCH 24/26] docs(api): drop value patterns and length limits from the version and env var request schemas --- .../components/schemas/actors/CreateVersionRequest.yaml | 7 ------- .../openapi/components/schemas/actors/EnvVarRequest.yaml | 4 ---- .../components/schemas/actors/UpdateVersionRequest.yaml | 7 ------- 3 files changed, 18 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index dec3f5cf17..b7ef2ea975 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -15,7 +15,6 @@ properties: description: Where the source code of the version lives. envVars: type: array - maxItems: 100 items: $ref: ./EnvVarRequest.yaml description: Environment variables for the version. @@ -25,9 +24,6 @@ properties: description: Whether to inject the environment variables at build time. buildTag: type: [string, "null"] - minLength: 1 - maxLength: 30 - pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])$ examples: [latest] description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: @@ -36,15 +32,12 @@ properties: file structure as an array of files and folders. gitRepoUrl: type: string - pattern: '^(?:https?://|git@)?[^/|:]+[/:]' description: URL of the Git repository to clone the source code from. Required when the `sourceType` is `GIT_REPO`. tarballUrl: type: string - pattern: '^(?:[hH][tT][tT][pP][sS]?:)?//\S+' description: URL of the tarball to download the source code from. Required when the `sourceType` is `TARBALL`. gitHubGistUrl: type: string - pattern: '^[hH][tT][tT][pP][sS]://[gG][iI][sS][tT]\.[gG][iI][tT][hH][uU][bB]\.[cC][oO][mM]/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' description: URL of the GitHub Gist to clone the source code from. Required when the `sourceType` is `GITHUB_GIST`. allOf: - if: diff --git a/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml b/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml index bbefbe57cc..998a127074 100644 --- a/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/EnvVarRequest.yaml @@ -6,14 +6,10 @@ type: object properties: name: type: string - minLength: 1 - maxLength: 100 - pattern: ^[^=]*$ examples: [MY_ENV_VAR] description: The name of the environment variable. Can't contain `=`. value: type: string - maxLength: 50000 examples: [my-value] description: The value of the environment variable. isSecret: diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 8816fa9f34..158eb23612 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -12,7 +12,6 @@ properties: description: Where the source code of the version lives. envVars: type: array - maxItems: 100 items: $ref: ./EnvVarRequest.yaml description: Environment variables for the version. @@ -22,9 +21,6 @@ properties: description: Whether to inject the environment variables at build time. buildTag: type: [string, "null"] - minLength: 1 - maxLength: 30 - pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])$ examples: [latest] description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: @@ -33,15 +29,12 @@ properties: file structure as an array of files and folders. gitRepoUrl: type: string - pattern: '^(?:https?://|git@)?[^/|:]+[/:]' description: URL of the Git repository to clone the source code from. Required when the request sets `sourceType` to `GIT_REPO`. tarballUrl: type: string - pattern: '^(?:[hH][tT][tT][pP][sS]?:)?//\S+' description: URL of the tarball to download the source code from. Required when the request sets `sourceType` to `TARBALL`. gitHubGistUrl: type: string - pattern: '^[hH][tT][tT][pP][sS]://[gG][iI][sS][tT]\.[gG][iI][tT][hH][uU][bB]\.[cC][oO][mM]/[A-Za-z0-9][A-Za-z0-9-]{0,38}/[0-9a-fA-F]{32}$' description: URL of the GitHub Gist to clone the source code from. Required when the request sets `sourceType` to `GITHUB_GIST`. allOf: - if: From c1589ee5829383b87bccefb167402e7f0a921c86 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 15:30:43 +0200 Subject: [PATCH 25/26] docs(api): drop the sourceType conditional rules from the version request schemas --- .../schemas/actors/CreateVersionRequest.yaml | 37 ++------------- .../schemas/actors/UpdateVersionRequest.yaml | 45 ++----------------- 2 files changed, 8 insertions(+), 74 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml index b7ef2ea975..58d05356a9 100644 --- a/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateVersionRequest.yaml @@ -28,43 +28,14 @@ properties: description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: $ref: ./VersionSourceFiles.yaml - description: Required when the `sourceType` is `SOURCE_FILES`. Represents the Actor's + description: Applies when the `sourceType` is `SOURCE_FILES`. Represents the Actor's file structure as an array of files and folders. gitRepoUrl: type: string - description: URL of the Git repository to clone the source code from. Required when the `sourceType` is `GIT_REPO`. + description: URL of the Git repository to clone the source code from. Applies when the `sourceType` is `GIT_REPO`. tarballUrl: type: string - description: URL of the tarball to download the source code from. Required when the `sourceType` is `TARBALL`. + description: URL of the tarball to download the source code from. Applies when the `sourceType` is `TARBALL`. gitHubGistUrl: type: string - description: URL of the GitHub Gist to clone the source code from. Required when the `sourceType` is `GITHUB_GIST`. -allOf: - - if: - properties: - sourceType: - const: SOURCE_FILES - then: - required: - - sourceFiles - - if: - properties: - sourceType: - const: GIT_REPO - then: - required: - - gitRepoUrl - - if: - properties: - sourceType: - const: TARBALL - then: - required: - - tarballUrl - - if: - properties: - sourceType: - const: GITHUB_GIST - then: - required: - - gitHubGistUrl + description: URL of the GitHub Gist to clone the source code from. Applies when the `sourceType` is `GITHUB_GIST`. diff --git a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml index 158eb23612..2afd49f957 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateVersionRequest.yaml @@ -25,51 +25,14 @@ properties: description: The tag name to apply to a successful build of this version. Can be `null` when the version has no build tag. sourceFiles: $ref: ./VersionSourceFiles.yaml - description: Required when the request sets `sourceType` to `SOURCE_FILES`. Represents the Actor's + description: Applies when the `sourceType` is `SOURCE_FILES`. Represents the Actor's file structure as an array of files and folders. gitRepoUrl: type: string - description: URL of the Git repository to clone the source code from. Required when the request sets `sourceType` to `GIT_REPO`. + description: URL of the Git repository to clone the source code from. Applies when the `sourceType` is `GIT_REPO`. tarballUrl: type: string - description: URL of the tarball to download the source code from. Required when the request sets `sourceType` to `TARBALL`. + description: URL of the tarball to download the source code from. Applies when the `sourceType` is `TARBALL`. gitHubGistUrl: type: string - description: URL of the GitHub Gist to clone the source code from. Required when the request sets `sourceType` to `GITHUB_GIST`. -allOf: - - if: - required: - - sourceType - properties: - sourceType: - const: SOURCE_FILES - then: - required: - - sourceFiles - - if: - required: - - sourceType - properties: - sourceType: - const: GIT_REPO - then: - required: - - gitRepoUrl - - if: - required: - - sourceType - properties: - sourceType: - const: TARBALL - then: - required: - - tarballUrl - - if: - required: - - sourceType - properties: - sourceType: - const: GITHUB_GIST - then: - required: - - gitHubGistUrl + description: URL of the GitHub Gist to clone the source code from. Applies when the `sourceType` is `GITHUB_GIST`. From 395c5f911655464a515d2947909235b82d009943 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 19 Oct 2026 15:33:02 +0200 Subject: [PATCH 26/26] docs(api): drop the version count cap from the Actor request schemas --- .../openapi/components/schemas/actors/CreateActorRequest.yaml | 1 - .../openapi/components/schemas/actors/UpdateActorRequest.yaml | 1 - 2 files changed, 2 deletions(-) diff --git a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml index f4465d3a67..11dfbe47db 100644 --- a/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/CreateActorRequest.yaml @@ -40,7 +40,6 @@ properties: versions: type: array minItems: 1 - maxItems: 10 items: $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the diff --git a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml index ca7eb2b934..6c6b3c2dac 100644 --- a/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml +++ b/apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml @@ -40,7 +40,6 @@ properties: versions: type: array minItems: 1 - maxItems: 10 items: $ref: ./CreateVersionRequest.yaml description: "An array of `Version` objects. Each object represents a specific version of the