{
  "openapi": "3.0.1",
  "info": {
    "title": "Job Change Monitor — Greenhouse, Lever, Ashby +2 ATS",
    "description": "Track new, changed and removed jobs across your company watchlist on five ATS platforms, with posted salary where the board publishes it. Export results and send change alerts without AI. Add optional Gemini relevance scores with source evidence.",
    "version": "0.3",
    "x-build-id": "g1S5yegeFJJx3qpus"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/wheaten_steelpan~hiring-signal-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-wheaten_steelpan-hiring-signal-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/wheaten_steelpan~hiring-signal-monitor/runs": {
      "post": {
        "operationId": "runs-sync-wheaten_steelpan-hiring-signal-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/wheaten_steelpan~hiring-signal-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-wheaten_steelpan-hiring-signal-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "boardUrls": {
            "title": "Career board URLs",
            "maxItems": 200,
            "type": "array",
            "description": "One public job-board URL per line. Examples: https://job-boards.greenhouse.io/COMPANY, https://jobs.lever.co/COMPANY (use jobs.eu.lever.co for EU boards), https://jobs.ashbyhq.com/COMPANY, https://jobs.smartrecruiters.com/COMPANY, https://apply.workable.com/COMPANY. The provider is detected from the URL, so no API key or JSON is needed. A company homepage or a custom careers domain such as careers.company.com is not accepted.",
            "items": {
              "type": "string"
            }
          },
          "outputMode": {
            "title": "What would you like to see?",
            "enum": [
              "all",
              "changes",
              "actionable"
            ],
            "type": "string",
            "description": "All jobs and changes returns the jobs kept by this run plus any confirmed removals; on a first run the jobs are normally labelled unchanged. Changes since the previous run returns only new, changed and removed jobs, so a first run or a quiet run can return no job rows. AI matches only narrows the returned rows to AI-qualified jobs and needs the optional AI section switched on; which of those rows alert is still decided by your alert choice. Boards that fail are reported in every option. Switching between these keeps your existing job history, caps and alert settings."
          },
          "maxJobsPerCompany": {
            "title": "Job limit per company",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many jobs to keep per company after filtering. Filters run first, so a board only hits this limit when more jobs match your filters than the limit allows; when that happens the extra jobs are not monitored and removal confirmation is paused for that board. Changing the limit starts a separate monitoring history. The limit does not reduce downloads: the whole public board is still read, and a run uses Apify resources even with AI off. The Console starter value is 25; the API default is 1,000.",
            "default": 1000
          },
          "keywords": {
            "title": "Include keywords",
            "maxItems": 50,
            "type": "array",
            "description": "Keep jobs containing at least one keyword in the title, department, location, team, employment type, or description. Leave empty to keep all jobs. SmartRecruiters boards publish no description on their public listing, so only the other fields are searched there.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "type": "array",
            "description": "Drop jobs containing any of these terms.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "departments": {
            "title": "Departments",
            "maxItems": 50,
            "type": "array",
            "description": "Keep jobs whose department contains at least one supplied value.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "locations": {
            "title": "Locations",
            "maxItems": 50,
            "type": "array",
            "description": "Keep jobs whose source-provided location contains at least one supplied value.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "workplaceTypes": {
            "title": "Workplace types",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional exact filter. Greenhouse usually does not provide this field, and SmartRecruiters and Workable only mark remote or hybrid, so selecting a type can exclude jobs from those boards.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "on-site",
                "unspecified"
              ]
            },
            "default": []
          },
          "webhookEnabled": {
            "title": "Send job changes to a webhook",
            "type": "boolean",
            "description": "Off by default. Turn this on and add a destination below to receive new, changed and confirmed-removed jobs. No Gemini key is needed for ordinary change alerts."
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Your HTTPS receiver on port 443, stored as an Apify secret. Required only when alerts are switched on. Environment fallback: HIRING_WEBHOOK_URL."
          },
          "webhookToken": {
            "title": "Webhook bearer token",
            "type": "string",
            "description": "Optional authentication token for the receiver. Overrides HIRING_WEBHOOK_TOKEN. Leave empty if the receiver does not require bearer authentication."
          },
          "alertMode": {
            "title": "Which changes should trigger alerts?",
            "enum": [
              "changes",
              "ai_matches"
            ],
            "type": "string",
            "description": "All job changes sends new, changed and confirmed removals whether or not AI ran. AI matches only sends high-confidence AI matches and needs the AI section switched on. Alerts follow the results you chose above. Unchanged jobs never trigger an alert. First-run jobs do not either, unless you switch on Treat first-run jobs as new in Advanced settings, which makes them count as new."
          },
          "aiEnabled": {
            "title": "Add AI relevance scores",
            "type": "boolean",
            "description": "Off by default. Collecting jobs, filters, change detection and ordinary change alerts all work with this off. Switching it on requires a Gemini key and the two description fields below."
          },
          "geminiApiKey": {
            "title": "Gemini API key",
            "type": "string",
            "description": "Stored as an Apify secret and needed only for AI. A nonblank value overrides GEMINI_API_KEY/GOOGLE_API_KEY. Leave blank to monitor jobs without AI or to use an environment key. Never put keys in the legacy ai JSON field."
          },
          "aiOffering": {
            "title": "Your product or service",
            "minLength": 1,
            "maxLength": 2000,
            "type": "string",
            "description": "Describe what you sell, for example Kubernetes migration and CI/CD implementation."
          },
          "aiCustomerProfile": {
            "title": "Ideal customer profile",
            "minLength": 1,
            "maxLength": 2000,
            "type": "string",
            "description": "Describe relevant customers. Missing facts remain unknown; a posting cannot establish purchasing intent."
          },
          "aiKeywords": {
            "title": "Only score jobs containing these words",
            "maxItems": 30,
            "type": "array",
            "description": "Case-insensitive exact text, checked before anything is sent to Gemini, so unrelated jobs cost nothing. Supply at least one entry here or one role family below.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          },
          "aiRoleFamilies": {
            "title": "Only score these role families",
            "maxItems": 30,
            "uniqueItems": true,
            "type": "array",
            "description": "English job-title patterns, also checked before anything is sent to Gemini. A job qualifies if it matches a word above or a family here.",
            "items": {
              "type": "string",
              "enum": [
                "engineering",
                "data",
                "security",
                "sales",
                "marketing",
                "operations",
                "finance",
                "people"
              ]
            }
          },
          "aiPositiveSignals": {
            "title": "Desired hiring signals",
            "maxItems": 30,
            "type": "array",
            "description": "Work mentioned in a job that could make your offering relevant, for example migrating production infrastructure.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          },
          "aiExclusions": {
            "title": "Reasons to reject a match",
            "maxItems": 30,
            "type": "array",
            "description": "Reasons the model should reject a match, for example pure sales responsibilities. These are instructions to the model; Exclude keywords above is an exact text filter.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          },
          "maxConcurrency": {
            "title": "Maximum concurrent companies",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum company boards processed at once.",
            "default": 4
          },
          "requestTimeoutSecs": {
            "title": "Request timeout",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "Timeout for each ATS API request.",
            "default": 20
          },
          "maxRetries": {
            "title": "Maximum retries",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Retries for network errors, HTTP 408/429/5xx, and transient invalid JSON.",
            "default": 2
          },
          "includeUnlistedAshby": {
            "title": "Include unlisted Ashby postings",
            "type": "boolean",
            "description": "Include published Ashby postings marked isListed=false. Disabled by default because those postings are intended for direct-link access.",
            "default": false
          },
          "removalConfirmationRuns": {
            "title": "Successful absences required for removal",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "A previously tracked job is reported as removed only after this many successful, uncapped board fetches omit it. Failed or capped boards do not advance the counter. Jobs still on the board reset their counter even when filters exclude them; re-entry compares against the last matching snapshot.",
            "default": 2
          },
          "emitInitialJobs": {
            "title": "Treat first-run jobs as new",
            "type": "boolean",
            "description": "Off: the first run quietly saves the jobs it finds. On: first-run jobs count as new, so they can trigger change alerts and optional AI assessment. This does not reclassify jobs already saved by an earlier run.",
            "default": false
          },
          "maxWebhookRequests": {
            "title": "Maximum webhook attempts per run",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Pending events above this cap stay queued for later runs. Each event is attempted at most five times across runs."
          },
          "aiModel": {
            "title": "Gemini model",
            "enum": [
              "gemini-2.5-flash-lite",
              "gemini-3.8-flash"
            ],
            "type": "string",
            "description": "Both models passed the small direct API sample. Gemini 3.8 Flash remains provisional; Flash-Lite is cheaper on that sample. No automatic fallback."
          },
          "aiMaxRequests": {
            "title": "Maximum generation attempts",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum generation attempts per run, including failures. Token-count attempts share the same limit, so counting failures also consume a slot. No automatic generation retries."
          },
          "aiMaxSpendUsd": {
            "title": "Estimated model budget (USD)",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Per-run estimated model-cost reservation limit in USD. Reserves bounded output plus conservative input estimates before dispatch. Provider billing and Apify platform fees are separate."
          },
          "aiMinMatchScore": {
            "title": "Minimum match score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "AI match threshold, plus medium/high confidence. AI-only alerts additionally require high confidence. This does not filter ordinary change alerts."
          },
          "resetMonitorState": {
            "title": "Reset this monitor's state",
            "type": "boolean",
            "description": "Discard the saved jobs for this exact configuration on the next fresh scrape, after any pending delivery has recovered. Use once, then switch it off. This does not clear queued alerts or locks.",
            "default": false
          },
          "companies": {
            "title": "Legacy API companies (optional)",
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "description": "For existing API users or custom company display names. Leave Career board URLs empty when using this field.",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "title": "ATS source",
                  "description": "Public career-board provider.",
                  "type": "string",
                  "enum": [
                    "greenhouse",
                    "lever",
                    "ashby",
                    "smartrecruiters",
                    "workable"
                  ],
                  "editor": "select"
                },
                "board": {
                  "title": "Board URL or identifier",
                  "description": "Hosted board URL, public API URL, or provider-specific site identifier.",
                  "type": "string",
                  "minLength": 1,
                  "editor": "textfield"
                },
                "companyName": {
                  "title": "Company name",
                  "description": "Optional display name; the provider site identifier is used when omitted.",
                  "type": "string",
                  "editor": "textfield"
                }
              },
              "required": [
                "source",
                "board"
              ],
              "additionalProperties": false
            }
          },
          "workflow": {
            "title": "Legacy API workflow (optional)",
            "type": "object",
            "description": "Existing nested API input remains supported. Explicit simple form fields take precedence. Leave empty when using the simple controls.",
            "properties": {
              "outputMode": {
                "title": "Dataset output",
                "description": "Changes includes new, changed and removed jobs; actionable includes only actionable new/changed jobs. Source errors are always retained. All also includes first-run and unchanged jobs.",
                "type": "string",
                "editor": "select",
                "enum": [
                  "all",
                  "changes",
                  "actionable"
                ],
                "default": "changes"
              },
              "webhookEnabled": {
                "title": "Send webhook alerts",
                "description": "Requires a webhook URL secret (or HIRING_WEBHOOK_URL). Sends only high-confidence actionable new/changed jobs. Receiver must deduplicate eventId. Disabling pauses saved deliveries.",
                "type": "boolean",
                "editor": "checkbox",
                "default": false
              },
              "maxWebhookRequests": {
                "title": "Webhook requests per run",
                "description": "Each pending event is attempted at most once per run and five times overall. Retries use the same event ID on later runs.",
                "type": "integer",
                "editor": "number",
                "minimum": 0,
                "maximum": 100,
                "default": 10
              },
              "alertMode": {
                "title": "Which changes should trigger alerts?",
                "description": "All job changes sends new, changed and confirmed removals whether or not AI ran. AI matches only sends high-confidence AI matches and needs the AI section switched on. Alerts follow the results you chose above. Unchanged jobs never trigger an alert. First-run jobs do not either, unless you switch on Treat first-run jobs as new in Advanced settings, which makes them count as new.",
                "type": "string",
                "editor": "select",
                "enum": [
                  "changes",
                  "ai_matches"
                ],
                "enumTitles": [
                  "All job changes — no AI needed",
                  "AI matches only — optional"
                ]
              }
            },
            "additionalProperties": false
          },
          "ai": {
            "title": "Legacy API ai (optional)",
            "type": "object",
            "description": "Existing nested API input remains supported. Explicit simple form fields take precedence. Leave empty when using the simple controls.",
            "properties": {
              "enabled": {
                "type": "boolean",
                "default": false,
                "title": "Enable AI analysis",
                "description": "Analyze eligible new or changed jobs. Disabled keeps the monitor fully deterministic.",
                "editor": "checkbox"
              },
              "model": {
                "type": "string",
                "enum": [
                  "gemini-2.5-flash-lite",
                  "gemini-3.8-flash"
                ],
                "default": "gemini-3.8-flash",
                "title": "Gemini model",
                "description": "Gemini 3.8 Flash is provisional after AGY testing. Flash-Lite remains selectable; the direct API comparison is a private-beta gate. No automatic fallback.",
                "editor": "select"
              },
              "maxRequests": {
                "type": "integer",
                "minimum": 0,
                "maximum": 100,
                "default": 10,
                "description": "Maximum generation attempts per run, including failures. Token-count attempts share the same limit, so counting failures also consume a slot. No automatic generation retries.",
                "title": "Maximum generation attempts",
                "editor": "number"
              },
              "maxSpendUsd": {
                "type": "number",
                "minimum": 0,
                "maximum": 10,
                "default": 0.1,
                "description": "Per-run estimated model-cost reservation limit in USD. Reserves bounded output plus conservative input estimates before dispatch. Provider billing and Apify platform fees are separate.",
                "title": "Estimated model budget (USD)",
                "editor": "number"
              },
              "minMatchScore": {
                "type": "integer",
                "minimum": 0,
                "maximum": 100,
                "default": 70,
                "title": "Minimum match score",
                "description": "Score required for actionable results; medium or high confidence is also required. Webhooks require high confidence. Default 70 is provisional.",
                "editor": "number"
              },
              "profile": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "offering",
                  "idealCustomerProfile"
                ],
                "properties": {
                  "offering": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "title": "Your product or service",
                    "description": "Describe what you sell, for example Kubernetes migration and CI/CD implementation.",
                    "editor": "textfield"
                  },
                  "idealCustomerProfile": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "title": "Ideal customer profile",
                    "description": "Describe relevant customers. Missing facts remain unknown; a posting cannot establish purchasing intent.",
                    "editor": "textfield"
                  },
                  "positiveSignals": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "maxItems": 30,
                    "title": "Desired hiring signals",
                    "description": "Work mentioned in a job that could make your offering relevant, for example migrating production infrastructure.",
                    "editor": "stringList"
                  },
                  "exclusions": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "maxItems": 30,
                    "title": "Reasons to reject a match",
                    "description": "Reasons the model should reject a match, for example pure sales responsibilities. These are instructions to the model; top-level excludeKeywords is an exact text filter.",
                    "editor": "stringList"
                  },
                  "keywords": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "maxItems": 30,
                    "description": "Case-insensitive exact text, checked before anything is sent to Gemini. Supply at least one keyword or role family.",
                    "title": "Only score jobs containing these words",
                    "editor": "stringList"
                  },
                  "roleFamilies": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "engineering",
                        "data",
                        "security",
                        "sales",
                        "marketing",
                        "operations",
                        "finance",
                        "people"
                      ]
                    },
                    "maxItems": 30,
                    "description": "English job-title patterns. Keywords and role families combine with OR. Rejection reasons are assessed by the model.",
                    "title": "Only score these role families",
                    "editor": "select",
                    "uniqueItems": true
                  }
                },
                "title": "Targeting profile",
                "description": "Required when enabled=true. Describe your offering and customer profile; add at least one keyword or role family.",
                "editor": "json"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}