{
  "openapi": "3.0.1",
  "info": {
    "title": "FCC Robocall Mitigation Database Checker & Change Monitor",
    "description": "Check U.S. voice providers against the official FCC Robocall Mitigation Database (RMD) by RMD number, FRN or exact business name. Monitor listing, provider role, STIR/SHAKEN implementation and recertification changes without turning source failures into false absences.",
    "version": "0.1",
    "x-build-id": "4Xsl4Odhb3CDUtAR7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automa-flow~fcc-rmd-provider-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automa-flow-fcc-rmd-provider-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/automa-flow~fcc-rmd-provider-monitor/runs": {
      "post": {
        "operationId": "runs-sync-automa-flow-fcc-rmd-provider-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/automa-flow~fcc-rmd-provider-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-automa-flow-fcc-rmd-provider-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",
        "required": [
          "providers"
        ],
        "properties": {
          "providers": {
            "title": "Provider watchlist",
            "minItems": 1,
            "maxItems": 5000,
            "type": "array",
            "description": "One row per provider. The RMD number is tried first, then the FRN, then the exact normalized business name. Several matching filings are returned as AMBIGUOUS with candidate RMD numbers, never fuzzy-matched.",
            "items": {
              "type": "object",
              "properties": {
                "rmdNumber": {
                  "title": "RMD number",
                  "type": "string",
                  "description": "Preferred exact identifier, for example RMD0001410. A bare number is zero-padded; spaces and hyphens are ignored.",
                  "editor": "textfield",
                  "maxLength": 64
                },
                "frn": {
                  "title": "FCC Registration Number (FRN)",
                  "type": "string",
                  "description": "Exact 10-digit FRN, leading zeroes included. Some FRNs hold more than one current RMD filing, which resolves to AMBIGUOUS with the candidate RMD numbers.",
                  "editor": "textfield",
                  "maxLength": 64
                },
                "businessName": {
                  "title": "Exact business name fallback",
                  "type": "string",
                  "description": "Fallback only. Case, punctuation and repeated whitespace are normalized; no fuzzy match is ever selected.",
                  "editor": "textfield",
                  "maxLength": 512
                },
                "reference": {
                  "title": "Your reference",
                  "type": "string",
                  "description": "Optional carrier, CRM or onboarding key echoed unchanged in this input row's output.",
                  "editor": "textfield",
                  "maxLength": 128
                }
              },
              "additionalProperties": false
            }
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "snapshot",
              "monitor"
            ],
            "type": "string",
            "description": "snapshot returns the current status of every provider. monitor also compares each provider with its last successful observation and returns deterministic change events.",
            "default": "snapshot"
          },
          "monitorId": {
            "title": "Monitor ID",
            "maxLength": 64,
            "type": "string",
            "description": "Required in monitor mode. Names the stored baseline so several watchlists can be monitored independently. 1-64 letters, digits, dots, underscores or hyphens."
          },
          "onlyChanges": {
            "title": "Emphasise changed providers",
            "type": "boolean",
            "description": "Monitor mode only. Unchanged providers still return one row each, with the descriptive fields blanked and details_omitted set to true, so the batch stays one row per input.",
            "default": false
          },
          "includeAliases": {
            "title": "Include other FRNs and d/b/a names",
            "type": "boolean",
            "description": "Adds other_frns, other_dba_names and previous_dba_names. The source stores these as free text, so names are split only on line breaks and semicolons; a comma-separated group stays one entry rather than being invented into several.",
            "default": true
          },
          "includeBusinessAddress": {
            "title": "Include the filed business address",
            "type": "boolean",
            "description": "Off by default for data minimization. The company address helps tell apart providers that share a business name. Filing contact names, phone numbers and personal addresses are never returned in any mode.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}