{
  "openapi": "3.0.1",
  "info": {
    "title": "Australia Visa Processing Time Monitor",
    "description": "Look up and monitor Australia's official published visa processing times (25th/50th/75th/90th percentile days) per visa subclass and stream, with a recurring monitor mode that flags whenever the Department of Home Affairs updates its own figures.",
    "version": "0.1",
    "x-build-id": "lSqxUYcSAlxTJ5UZG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nerolabs~au-visa-processing-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nerolabs-au-visa-processing-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/nerolabs~au-visa-processing-monitor/runs": {
      "post": {
        "operationId": "runs-sync-nerolabs-au-visa-processing-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/nerolabs~au-visa-processing-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-nerolabs-au-visa-processing-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": {
          "visaSubclassCode": {
            "title": "Visa subclass code (single lookup)",
            "type": "string",
            "description": "The numeric subclass code, e.g. 186 for the Employer Nomination Scheme visa. Use this for a single-record lookup. Don't know the code? Run once with 'List all available visas' turned on instead."
          },
          "streamCode": {
            "title": "Stream code (single lookup, optional)",
            "type": "string",
            "description": "Some subclasses have multiple streams, each with its own processing time (e.g. subclass 186 has stream 3, 'Direct Entry Pathway'). Leave blank for subclasses that have no stream. Only used alongside 'Visa subclass code' above."
          },
          "targets": {
            "title": "Targets (bulk lookup / Monitor mode)",
            "type": "array",
            "description": "A list of subclass/stream pairs to check, one per line, as 'subclassCode' (no stream) or 'subclassCode:streamCode'. Examples: '189' (Skilled Independent, no stream) or '186:3' (Employer Nomination Scheme, Direct Entry Pathway). Required for Monitor mode (that's what gives each pair a stable identity to track over time). Also the fastest way to check many subclasses in one run. Don't know the exact codes? Run once with 'List all available visas' turned on to get the full reference list first.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "monitorMode": {
            "title": "Monitor mode (watch for processing-time changes over time)",
            "type": "boolean",
            "description": "When true, the Actor remembers each subclass/stream's last-seen 25th/50th/75th/90th percentile processing times and reports only what changed since the last check, or a cheap no-change confirmation. Schedule this Actor to run weekly or monthly with the same targets and watchlistId (Home Affairs updates these figures roughly monthly). Requires visaSubclassCode and/or targets.",
            "default": false
          },
          "watchlistId": {
            "title": "Watchlist ID (optional, Monitor mode only)",
            "type": "string",
            "description": "Only needed if you're running more than one independent monitored watchlist from the same Apify account (e.g. one per client) and want their change history kept separate. Leave as default otherwise.",
            "default": "default"
          },
          "listAvailableVisas": {
            "title": "List all available visas (free reference lookup)",
            "type": "boolean",
            "description": "When true, ignores every other input and instead returns the full current list of every visa subclass/stream pair the Department of Home Affairs publishes processing times for (100+), so you can find the exact codes to use above. This reference lookup is never charged.",
            "default": false
          },
          "clients": {
            "title": "Client tracking (your caseload, with dates)",
            "type": "array",
            "description": "Track your own caseload: one row per client with their visa subclass/stream and application date. Ignores every other input when used. Returns the current percentile figures plus an honest statistical estimate of roughly where each application should stand (NOT a real case status, Home Affairs doesn't publish one, see the README FAQ). Each row: {\"clientLabel\": \"your own reference, e.g. a name or file number\", \"visaSubclassCode\": \"186\", \"streamCode\": \"3\" (optional), \"applicationDate\": \"2026-03-01\"}.",
            "default": []
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}