Skip to content

docs: add web server schema (OpenAPI) reference page#2434

Open
raethlo wants to merge 5 commits intomasterfrom
docs/web-server-schema
Open

docs: add web server schema (OpenAPI) reference page#2434
raethlo wants to merge 5 commits intomasterfrom
docs/web-server-schema

Conversation

@raethlo
Copy link
Copy Markdown
Contributor

@raethlo raethlo commented Apr 15, 2026

Summary

  • Adds a new documentation page for the webServerSchema field in actor.json
  • Covers how to define an OpenAPI spec (external file or inline), platform behavior (build-time validation, servers overwrite), and related fields
  • Placed under Actor definition section alongside input schema, dataset schema, etc.

Still TODO

  • Screenshot of the Endpoints tab UI
  • Final copy review

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@apify-service-account
Copy link
Copy Markdown

Preview for this PR was built for commit 67c247dd and is ready at https://pr-2434.preview.docs.apify.com!

@apify-service-account
Copy link
Copy Markdown

Preview for this PR was built for commit 52cd9c99 and is ready at https://pr-2434.preview.docs.apify.com!

Replace MCP field reference with webServerSchema, add Endpoints tab
screenshot, fix passive voice, clarify standby mode requirement for
schema definition vs. Endpoints tab display.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@raethlo raethlo marked this pull request as ready for review April 15, 2026 10:31
@raethlo raethlo requested a review from TC-MO as a code owner April 15, 2026 10:31
@raethlo raethlo requested a review from nmanerikar April 15, 2026 10:31
@apify-service-account
Copy link
Copy Markdown

Preview for this PR was built for commit d0017656 and is ready at https://pr-2434.preview.docs.apify.com!

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@apify-service-account
Copy link
Copy Markdown

Preview for this PR was built for commit bbf9db20 and is ready at https://pr-2434.preview.docs.apify.com!

@apify-service-account
Copy link
Copy Markdown

Preview for this PR was built for commit ac79b6b3 and is ready at https://pr-2434.preview.docs.apify.com!

Copy link
Copy Markdown
Contributor

@nmanerikar nmanerikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good - the only issue is the tab name. Currently "Standby", but soon to be "Endpoints". See inline comment.

sidebar_label: Web server schema
sidebar_position: 6.5
description: >-
Attach an OpenAPI specification to your Actor to enable the interactive Endpoints tab in Apify Console and Apify Store, where you can browse and test endpoints.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tab is currently still named "Standby". I do have a change for it that will make it "Endpoints", but it will also change the copy a bit (to be the same as Store in Console and apify-web)
It means you will need to update the screenshot

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any timeline for this ? I assume this docs have to ship before the changes you mention so we should use current labels and update accordingly once change happens

Copy link
Copy Markdown
Contributor

@TC-MO TC-MO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few changes requested

sidebar_label: Web server schema
sidebar_position: 6.5
description: >-
Attach an OpenAPI specification to your Actor to enable the interactive Endpoints tab in Apify Console and Apify Store, where you can browse and test endpoints.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any timeline for this ? I assume this docs have to ship before the changes you mention so we should use current labels and update accordingly once change happens

title: Web server schema
sidebar_label: Web server schema
sidebar_position: 6.5
description: >-
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the point of this?

---
title: Web server schema
sidebar_label: Web server schema
sidebar_position: 6.5
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we not use decimals in sidebar position please?

slug: /actors/development/actor-definition/web-server-schema
---

The `webServerSchema` field in `.actor/actor.json` attaches an [OpenAPI 3.x](https://spec.openapis.org/oas/v3.0.3) specification to your Actor. You can define the schema for any Actor that exposes an HTTP server. When you enable [standby mode](/platform/actors/development/programming-interface/standby), Apify Console and Apify Store render an interactive **Endpoints** tab on the Actor's detail page, where you can browse endpoints, inspect request and response schemas, and send requests directly from the browser.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is Standby per screenshot, docs need to reflect current status

Suggested change
The `webServerSchema` field in `.actor/actor.json` attaches an [OpenAPI 3.x](https://spec.openapis.org/oas/v3.0.3) specification to your Actor. You can define the schema for any Actor that exposes an HTTP server. When you enable [standby mode](/platform/actors/development/programming-interface/standby), Apify Console and Apify Store render an interactive **Endpoints** tab on the Actor's detail page, where you can browse endpoints, inspect request and response schemas, and send requests directly from the browser.
The `webServerSchema` field in `.actor/actor.json` attaches an [OpenAPI 3.x](https://spec.openapis.org/oas/v3.0.3) specification to your Actor. You can define the schema for any Actor that exposes an HTTP server. When you enable [standby mode](/platform/actors/development/programming-interface/standby), Apify Console and Apify Store render an interactive **Standby** tab on the Actor's detail page. From there you can browse endpoints, inspect request and response schemas, and send requests directly from the browser.


## Build and deploy

The platform validates `webServerSchema` at build time, similar to other Actor schemas like [input schema](/platform/actors/development/actor-definition/input-schema) and [dataset schema](/platform/actors/development/actor-definition/dataset-schema). If the spec is malformed, the build fails with a validation error.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The platform validates `webServerSchema` at build time, similar to other Actor schemas like [input schema](/platform/actors/development/actor-definition/input-schema) and [dataset schema](/platform/actors/development/actor-definition/dataset-schema). If the spec is malformed, the build fails with a validation error.
The build process validates `webServerSchema`, similar to other Actor schemas like [input schema](/platform/actors/development/actor-definition/input-schema) and [dataset schema](/platform/actors/development/actor-definition/dataset-schema). If the spec is malformed, the build fails with a validation error.


:::note Servers field is overwritten

The platform replaces the `servers` array in your spec with the Actor's standby URL at display time. Custom server URLs are ignored.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The platform replaces the `servers` array in your spec with the Actor's standby URL at display time. Custom server URLs are ignored.
Your `servers` array is replaced with the Actor's standby URL at display time. Custom server URLs are ignored.


The platform validates `webServerSchema` at build time, similar to other Actor schemas like [input schema](/platform/actors/development/actor-definition/input-schema) and [dataset schema](/platform/actors/development/actor-definition/dataset-schema). If the spec is malformed, the build fails with a validation error.

Once deployed, the **Endpoints** tab appears automatically on the Actor's detail page when you enable [standby mode](/platform/actors/development/programming-interface/standby). It renders your spec with [Swagger UI](https://swagger.io/tools/swagger-ui/) and handles authentication automatically - Actor users can send requests without configuring API tokens.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Once deployed, the **Endpoints** tab appears automatically on the Actor's detail page when you enable [standby mode](/platform/actors/development/programming-interface/standby). It renders your spec with [Swagger UI](https://swagger.io/tools/swagger-ui/) and handles authentication automatically - Actor users can send requests without configuring API tokens.
Once deployed, the **Standby** tab appears automatically on the Actor's detail page when you enable [standby mode](/platform/actors/development/programming-interface/standby). It renders your spec with [Swagger UI](https://swagger.io/tools/swagger-ui/) and handles authentication automatically - Actor users can send requests without configuring API tokens.


| Field | Description |
| --- | --- |
| `usesStandbyMode` | Must be `true` for the **Endpoints** tab to appear. See [standby mode](/platform/actors/development/programming-interface/standby). |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `usesStandbyMode` | Must be `true` for the **Endpoints** tab to appear. See [standby mode](/platform/actors/development/programming-interface/standby). |
| `usesStandbyMode` | Must be `true` for the **Standby** tab to appear. See [standby mode](/platform/actors/development/programming-interface/standby). |

| Field | Description |
| --- | --- |
| `usesStandbyMode` | Must be `true` for the **Endpoints** tab to appear. See [standby mode](/platform/actors/development/programming-interface/standby). |
| `webServerSchema` | The OpenAPI spec that powers the **Endpoints** tab. Defined in [`.actor/actor.json`](/platform/actors/development/actor-definition/actor-json) as an inline object or a path to a JSON file. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `webServerSchema` | The OpenAPI spec that powers the **Endpoints** tab. Defined in [`.actor/actor.json`](/platform/actors/development/actor-definition/actor-json) as an inline object or a path to a JSON file. |
| `webServerSchema` | The OpenAPI spec that powers the **Standby** tab. Defined in [`.actor/actor.json`](/platform/actors/development/actor-definition/actor-json) as an inline object or a path to a JSON file. |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants