{
  "openapi": "3.0.1",
  "info": {
    "title": "Phone Number Validator & Formatter: E.164, Type, Country",
    "description": "Offline phone validator: lists or CSV/JSON/XLSX to E.164, country, type, reason. $0.30 per 1,000. Format check only: no carrier, region or time zone lookup.",
    "version": "0.1",
    "x-build-id": "Qv0vgjXGCg3KKfyYH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ataism~phone-validator/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ataism-phone-validator",
        "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/ataism~phone-validator/runs": {
      "post": {
        "operationId": "runs-sync-ataism-phone-validator",
        "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/ataism~phone-validator/run-sync": {
      "post": {
        "operationId": "run-sync-ataism-phone-validator",
        "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": {
          "phoneNumbers": {
            "title": "Phone numbers",
            "type": "array",
            "description": "One number per line, in any common format (spaces, dashes, brackets, and an extension such as \"ext. 12\" are fine). Blank lines, and cells longer than 1,000 characters, are skipped and not charged. Numbers without a leading + use the default country below. The prefilled numbers are fictional or reserved ranges.",
            "items": {
              "type": "string"
            }
          },
          "fileUrls": {
            "title": "File URLs (CSV, JSON or XLSX)",
            "type": "array",
            "description": "Direct http(s) links to a CSV/TSV, JSON, NDJSON or XLSX file with the numbers, one link per line (up to 20 files, 50 MB each). Private and local addresses are blocked, and so are Google and social platform links; upload the file instead. A link that returns a web page (a share link) instead of the file is refused, free. Name the column in \"Column name\" below.",
            "items": {
              "type": "string"
            }
          },
          "files": {
            "title": "Uploaded files",
            "type": "array",
            "description": "Upload a CSV, JSON or XLSX file from your computer to a key-value store of your choice (the editor offers this), or paste a record URL. The Actor reads each file once and stores nothing."
          },
          "column": {
            "title": "Column name",
            "type": "string",
            "description": "The header (CSV, XLSX) or field name (JSON objects) that holds the phone numbers, matched without regard to case. A column number such as \"2\" also works for CSV and XLSX. Leave empty for a file with a single column, or a JSON array of strings."
          },
          "sheetName": {
            "title": "Sheet name (XLSX)",
            "type": "string",
            "description": "Which sheet of an XLSX workbook to read. Leave empty for the first sheet."
          },
          "defaultCountry": {
            "title": "Default country (ISO code)",
            "pattern": "^[A-Za-z]{2}$",
            "type": "string",
            "description": "Two-letter ISO 3166-1 code, for example GB, US, DE, FR, AU, IN. Used for numbers written without a + and country code, such as 020 7946 0958. Without it, such numbers come back as INVALID_COUNTRY. Numbers that start with + never need it."
          },
          "includeInternational": {
            "title": "International format",
            "type": "boolean",
            "description": "Adds the \"international\" field, for example +44 20 7946 0958.",
            "default": true
          },
          "includeNational": {
            "title": "National format",
            "type": "boolean",
            "description": "Adds the \"national\" field, for example 020 7946 0958 (as written inside the number's own country).",
            "default": true
          },
          "includeRfc3966": {
            "title": "RFC 3966 (tel: link)",
            "type": "boolean",
            "description": "Adds the \"rfc3966\" field, for example tel:+442079460958, ready for a clickable link.",
            "default": true
          },
          "outputInvalid": {
            "title": "Output invalid numbers",
            "type": "boolean",
            "description": "On (default): every number gets a row, valid or not, with the reason when invalid, and every row is charged. Off: invalid numbers are left out of the dataset and not charged.",
            "default": true
          },
          "dedupe": {
            "title": "Remove duplicates",
            "type": "boolean",
            "description": "Keeps the first occurrence of each number, compared by its E.164 form (so \"020 7946 0958\" and \"+44 20 7946 0958\" count as the same). Unparseable text is compared as typed. Dropped duplicates are not output and not charged.",
            "default": false
          },
          "maxNumbers": {
            "title": "Max numbers",
            "minimum": 1,
            "type": "integer",
            "description": "Stops after this many non-blank numbers. The limit is 1,000,000 per run: a larger value is lowered with a warning.",
            "default": 1000000
          },
          "downloadTimeoutSecs": {
            "title": "File download timeout (seconds)",
            "minimum": 5,
            "maximum": 600,
            "type": "integer",
            "description": "Per file, including redirects.",
            "default": 120
          },
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "Internal: \"selfTest\" runs the maintainer health check and saves no items.",
            "default": "run"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}