# PWA Icon and Manifest Preflight (`intuitive_crevasse/pwa-icon-and-manifest-preflight`) Actor

Beta offline PWA manifest and icon checks. Supply manifest JSON and PNG/JPEG/WebP bytes to receive diagnostic JSON and maskable-icon previews. No crawling or remote fetches. Human visual review required; not an installability certification.

- **URL**: https://apify.com/intuitive_crevasse/pwa-icon-and-manifest-preflight.md
- **Developed by:** [Kestrelspan Tools](https://apify.com/intuitive_crevasse) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$30.00 / 1,000 completed manifest preflight reports

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## PWA Icon and Manifest Preflight — beta

Check a supplied web app manifest and icon files before a human/browser release review. This offline diagnostic helper returns a JSON report and visual icon preview sheets. **It does not crawl your website, fetch URLs, certify installability, or replace browser testing.**

### Quick start

1. In Input, paste your manifest as raw JSON text (not an object).
2. Set `manifestUrl` and `documentUrl` to the manifest and page URLs. They are resolution contexts only; nothing is fetched.
3. Optionally supply `icons`, an array of objects containing `src` and strict `base64` image bytes. Match `src` to a manifest icon reference. Do not include a `data:` prefix or a server file path.
4. Start one report with a maximum run cost of at least US$0.03. Open `REPORT` for findings and `PREVIEW-00`, etc., for images. The `OUTPUT` record is the final adapter result/index.

Minimal runnable example (intentionally has no supplied icon evidence):

```json
{
  "manifest": "{\"name\":\"Example App\",\"short_name\":\"Example\",\"start_url\":\"/\",\"display\":\"standalone\",\"icons\":[]}",
  "manifestUrl": "https://example.test/manifest.webmanifest",
  "documentUrl": "https://example.test/",
  "icons": []
}
```

To get preview sheets, supply your own static PNG, JPEG or WebP icons as base64. Missing bytes are marked **unverified**, not evidence that a remote URL is broken. Use only material you are entitled to process, and do not submit secrets.

### What is checked?

- Bounded, strict JSON and duplicate keys; manifest/icon declaration structure.
- Supplied image format, actual dimensions and MIME versus declarations.
- Icon purpose tokens (`any`, `maskable`, `monochrome`) and relevant warnings.
- Effective start URL, scope and ID/origin diagnostics using a conservative ASCII HTTP(S) URL subset.
- Original, circle, squircle and safe-zone-only icon previews for **human visual review**.

Manifest scope is a path prefix: `/app` also includes `/application`. If you intend a directory boundary, review `/app/`. Unsupported URL edge cases are not proof that a browser rejects those URLs.

The safe-zone illustration uses a centered circle with radius 40% of the smaller image dimension. It does not identify a logo or determine which pixels matter. Opaque pixels outside that circle do not prove logo clipping. Transparency is shown on a white example background; devices can differ.

### Outputs

- `REPORT`: detailed JSON findings and severity counts.
- `PREVIEW-00`, etc.: PNG contact sheets for supplied supported icons.
- `OUTPUT`: final adapter result, report references and billing status.
- Dataset: one completion summary, useful for workflow integration. Its `pending-not-authoritative` billing field is not a payment ledger; consult the final `OUTPUT` and Apify's event accounting instead.

A completed report may contain errors. Treat `error`, `warning`, `unverified` and `review` findings according to your release policy; a successful Actor run does not mean a PWA passed browser installation checks.

### Limits and exclusions

One manifest per run; 256 KiB manifest text; at most 10 icon declarations and 10 supplied assets; 4 MiB decoded file bytes per icon and 16 MiB combined; maximum side 2,048 pixels and 4,194,304 pixels per icon. The serialized adapter input is capped at 24 MiB; platform input limits may be lower.

Only static PNG/JPEG/WebP are supported. SVG, ICO, GIF and animated images are outside this beta's scope, not necessarily invalid browser icons. No remote fetching, service-worker audit, browser emulation, comprehensive WHATWG URL parsing, guaranteed issue detection, compliance score or installation certification is provided.

### Pricing

**US$0.03 per completed preflight report** ($30 per 1,000), including reports with diagnostic error findings. Apify platform usage is included. There are no Actor-start or dataset-item event fees for this product. Structurally invalid input is rejected without a completed-report fee.

Each new run is a separate report. Interrupted or ambiguous write/charge states fail closed rather than promise exactly-once billing. Do not automatically retry ambiguous runs or clear/reuse their internal state; inspect the final result and platform event accounting first.

### Beta verification and support

As of 26 October 2026, 106 local regression tests passed. Owner-only hosted synthetic tests verified report and preview artifacts, and one billing-enabled synthetic run completed with the intended event. These are development checks, not customer demand, earnings, certification or a production SLA. Maximum serialized payloads and full browser interoperability have not been validated in hosted testing.

For a reproducible issue, use this Actor's Apify Issues tab. Share a minimal synthetic example rather than private files or secrets. Visual review and real browser/device testing remain necessary.

### References

- [W3C Web Application Manifest](https://www.w3.org/TR/appmanifest/)
- [Chrome maskable-icon guidance](https://developer.chrome.com/docs/lighthouse/pwa/maskable-icon-audit) (Lighthouse PWA testing is deprecated; this Actor is not advertised as its replacement)
- [Chrome DevTools PWA inspection](https://developer.chrome.com/docs/devtools/progressive-web-apps)

# Actor input Schema

## `manifest` (type: `string`):

Raw JSON text, at most 256 KiB. Duplicate keys rejected. Prefilled example is synthetic.

## `manifestUrl` (type: `string`):

Resolution context only; never fetched.

## `documentUrl` (type: `string`):

Resolution context only; never fetched.

## `icons` (type: `array`):

At most 10 objects with src and strict base64. Static PNG/JPEG/WebP only. 4 MiB per decoded file, 16 MiB combined; at most 2048 pixels per side. No data-URL prefixes. Prefilled artwork is synthetic.

## Actor input object example

```json
{
  "manifest": "{\n  \"name\": \"Synthetic QA Demo\",\n  \"start_url\": \"/application/\",\n  \"scope\": \"/app\",\n  \"icons\": [\n    {\n      \"src\": \"safe-icon.png\",\n      \"sizes\": \"512x512\",\n      \"purpose\": \"any maskable\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"wide-icon.png\",\n      \"sizes\": \"192x192\",\n      \"purpose\": \"maskable unknown\",\n      \"type\": \"image/jpeg\"\n    },\n    {\n      \"src\": \"not-supplied.png\",\n      \"purpose\": \"any\"\n    }\n  ]\n}\n",
  "manifestUrl": "https://example.test/app/manifest.webmanifest",
  "documentUrl": "https://example.test/app/index.html",
  "icons": [
    {
      "src": "safe-icon.png",
      "base64": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAKi0lEQVR4nO3b23HYRhJA0fWWQ3AYDMQpKAOFpAyUkALaD2+xVLItSyYBdM8951sPYGqmLwAWf/nt5ff/ANDz36cvAIBnCABAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAET9+vQFMMXL549PXwL3+fLh09OXwPN++e3l96evgWeY+LzSgyYBaDH0+Udi0CEAFUY/P0UGCgTgcOY+b6QEBxOAYxn9vCMZOJIAHMjo5yIycBi/B3Aa05/r2F2H8QZwDoeT23gVOIM3gEOY/tzJfjuDAJzAaeR+dt0BfALazSHkcT4H7eUNYDHTnwnsw70EYCunjjnsxqUEYCXnjWnsyY0EYB8njZnszHUEYBlnjMnsz10EYBOni/ns0kUEACBKANbwYMUW9uoWArCDE8UuduwKArCAs8RG9u18AgAQJQDTeYxiL7t3OAEYzflhO3t4MgEAiBKAuTw6cQY7eSwBAIgSgKE8NHES+3kmAQCIEgCAKAGYyPsy57GrBxIAgCgBGMeDEqeyt6cRAIAoAQCIEgCAKAGYxUdSzmaHjyIAAFECABAlAABRAgAQJQCD+PkYBfb5HAIA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"
    },
    {
      "src": "wide-icon.png",
      "base64": "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"
    }
  ]
}
```

# Actor output Schema

## `report` (type: `string`):

No description

## `result` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "manifest": `{
  "name": "Synthetic QA Demo",
  "start_url": "/application/",
  "scope": "/app",
  "icons": [
    {
      "src": "safe-icon.png",
      "sizes": "512x512",
      "purpose": "any maskable",
      "type": "image/png"
    },
    {
      "src": "wide-icon.png",
      "sizes": "192x192",
      "purpose": "maskable unknown",
      "type": "image/jpeg"
    },
    {
      "src": "not-supplied.png",
      "purpose": "any"
    }
  ]
}`,
    "manifestUrl": "https://example.test/app/manifest.webmanifest",
    "documentUrl": "https://example.test/app/index.html",
    "icons": [
        {
            "src": "safe-icon.png",
            "base64": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAKi0lEQVR4nO3b23HYRhJA0fWWQ3AYDMQpKAOFpAyUkALaD2+xVLItSyYBdM8951sPYGqmLwAWf/nt5ff/ANDz36cvAIBnCABAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAET9+vQFMMXL549PXwL3+fLh09OXwPN++e3l96evgWeY+LzSgyYBaDH0+Udi0CEAFUY/P0UGCgTgcOY+b6QEBxOAYxn9vCMZOJIAHMjo5yIycBi/B3Aa05/r2F2H8QZwDoeT23gVOIM3gEOY/tzJfjuDAJzAaeR+dt0BfALazSHkcT4H7eUNYDHTnwnsw70EYCunjjnsxqUEYCXnjWnsyY0EYB8njZnszHUEYBlnjMnsz10EYBOni/ns0kUEACBKANbwYMUW9uoWArCDE8UuduwKArCAs8RG9u18AgAQJQDTeYxiL7t3OAEYzflhO3t4MgEAiBKAuTw6cQY7eSwBAIgSgKE8NHES+3kmAQCIEgCAKAGYyPsy57GrBxIAgCgBGMeDEqeyt6cRAIAoAQCIEgCAKAGYxUdSzmaHjyIAAFECABAlAABRAgAQJQCD+PkYBfb5HAIA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"
        },
        {
            "src": "wide-icon.png",
            "base64": "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"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("intuitive_crevasse/pwa-icon-and-manifest-preflight").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "manifest": """{
  \"name\": \"Synthetic QA Demo\",
  \"start_url\": \"/application/\",
  \"scope\": \"/app\",
  \"icons\": [
    {
      \"src\": \"safe-icon.png\",
      \"sizes\": \"512x512\",
      \"purpose\": \"any maskable\",
      \"type\": \"image/png\"
    },
    {
      \"src\": \"wide-icon.png\",
      \"sizes\": \"192x192\",
      \"purpose\": \"maskable unknown\",
      \"type\": \"image/jpeg\"
    },
    {
      \"src\": \"not-supplied.png\",
      \"purpose\": \"any\"
    }
  ]
}
""",
    "manifestUrl": "https://example.test/app/manifest.webmanifest",
    "documentUrl": "https://example.test/app/index.html",
    "icons": [
        {
            "src": "safe-icon.png",
            "base64": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAKi0lEQVR4nO3b23HYRhJA0fWWQ3AYDMQpKAOFpAyUkALaD2+xVLItSyYBdM8951sPYGqmLwAWf/nt5ff/ANDz36cvAIBnCABAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAET9+vQFMMXL549PXwL3+fLh09OXwPN++e3l96evgWeY+LzSgyYBaDH0+Udi0CEAFUY/P0UGCgTgcOY+b6QEBxOAYxn9vCMZOJIAHMjo5yIycBi/B3Aa05/r2F2H8QZwDoeT23gVOIM3gEOY/tzJfjuDAJzAaeR+dt0BfALazSHkcT4H7eUNYDHTnwnsw70EYCunjjnsxqUEYCXnjWnsyY0EYB8njZnszHUEYBlnjMnsz10EYBOni/ns0kUEACBKANbwYMUW9uoWArCDE8UuduwKArCAs8RG9u18AgAQJQDTeYxiL7t3OAEYzflhO3t4MgEAiBKAuTw6cQY7eSwBAIgSgKE8NHES+3kmAQCIEgCAKAGYyPsy57GrBxIAgCgBGMeDEqeyt6cRAIAoAQCIEgCAKAGYxUdSzmaHjyIAAFECABAlAABRAgAQJQCD+PkYBfb5HAIA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",
        },
        {
            "src": "wide-icon.png",
            "base64": "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",
        },
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("intuitive_crevasse/pwa-icon-and-manifest-preflight").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "manifest": "{\\n  \\"name\\": \\"Synthetic QA Demo\\",\\n  \\"start_url\\": \\"/application/\\",\\n  \\"scope\\": \\"/app\\",\\n  \\"icons\\": [\\n    {\\n      \\"src\\": \\"safe-icon.png\\",\\n      \\"sizes\\": \\"512x512\\",\\n      \\"purpose\\": \\"any maskable\\",\\n      \\"type\\": \\"image/png\\"\\n    },\\n    {\\n      \\"src\\": \\"wide-icon.png\\",\\n      \\"sizes\\": \\"192x192\\",\\n      \\"purpose\\": \\"maskable unknown\\",\\n      \\"type\\": \\"image/jpeg\\"\\n    },\\n    {\\n      \\"src\\": \\"not-supplied.png\\",\\n      \\"purpose\\": \\"any\\"\\n    }\\n  ]\\n}\\n",
  "manifestUrl": "https://example.test/app/manifest.webmanifest",
  "documentUrl": "https://example.test/app/index.html",
  "icons": [
    {
      "src": "safe-icon.png",
      "base64": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAKi0lEQVR4nO3b23HYRhJA0fWWQ3AYDMQpKAOFpAyUkALaD2+xVLItSyYBdM8951sPYGqmLwAWf/nt5ff/ANDz36cvAIBnCABAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAEQJAECUAABECQBAlAAARAkAQJQAAET9+vQFMMXL549PXwL3+fLh09OXwPN++e3l96evgWeY+LzSgyYBaDH0+Udi0CEAFUY/P0UGCgTgcOY+b6QEBxOAYxn9vCMZOJIAHMjo5yIycBi/B3Aa05/r2F2H8QZwDoeT23gVOIM3gEOY/tzJfjuDAJzAaeR+dt0BfALazSHkcT4H7eUNYDHTnwnsw70EYCunjjnsxqUEYCXnjWnsyY0EYB8njZnszHUEYBlnjMnsz10EYBOni/ns0kUEACBKANbwYMUW9uoWArCDE8UuduwKArCAs8RG9u18AgAQJQDTeYxiL7t3OAEYzflhO3t4MgEAiBKAuTw6cQY7eSwBAIgSgKE8NHES+3kmAQCIEgCAKAGYyPsy57GrBxIAgCgBGMeDEqeyt6cRAIAoAQCIEgCAKAGYxUdSzmaHjyIAAFECABAlAABRAgAQJQCD+PkYBfb5HAIA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"
    },
    {
      "src": "wide-icon.png",
      "base64": "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"
    }
  ]
}' |
apify call intuitive_crevasse/pwa-icon-and-manifest-preflight --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,intuitive_crevasse/pwa-icon-and-manifest-preflight"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/iyvisYfcoDfgcceLq/builds/00nOfxEm9iqEdaZMB/openapi.json
