{
  "openapi": "3.0.1",
  "info": {
    "title": "FDA 510(k) Clearances Feed: New Device Clearances + PMA",
    "description": "New FDA medical device 510(k) clearances and optional PMA approvals from the official openFDA API. Filter by product code, specialty, company, decision or keyword. Review days computed, FDA links included, 'new since last run' mode for schedules.",
    "version": "0.1",
    "x-build-id": "6RwllTpjKWmb4C9zD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/moment-data~fda-510k-clearances-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-moment-data-fda-510k-clearances-feed",
        "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/moment-data~fda-510k-clearances-feed/runs": {
      "post": {
        "operationId": "runs-sync-moment-data-fda-510k-clearances-feed",
        "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/moment-data~fda-510k-clearances-feed/run-sync": {
      "post": {
        "operationId": "run-sync-moment-data-fda-510k-clearances-feed",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "window",
              "sinceLastRun"
            ],
            "type": "string",
            "description": "window (default): newest matching FDA decisions in the last N days, no saved state. sinceLastRun: only clearances not delivered before for this State key; use this for daily or weekly schedules.",
            "default": "window"
          },
          "lookbackDays": {
            "title": "Lookback (days, by FDA decision date)",
            "minimum": 7,
            "maximum": 3650,
            "type": "integer",
            "description": "openFDA publishes device decisions about weekly, so the newest records are usually 1-3 weeks old. Keep this at 30+ days.",
            "default": 60
          },
          "productCodes": {
            "title": "FDA product codes",
            "type": "array",
            "description": "Three-letter FDA product codes, e.g. QAS, DQY, LLZ, POM. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "advisoryCommittees": {
            "title": "Advisory committee / specialty",
            "type": "array",
            "description": "Two-letter codes (CV, OR, RA, NE, GU, DE, HO, SU, CH, IM...) or names (Cardiovascular, Orthopedic, Radiology, Neurology, Dental...). Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "applicants": {
            "title": "Applicant company contains",
            "type": "array",
            "description": "Company names or name words, e.g. Medtronic, Siemens Healthineers, Stryker. Any match counts.",
            "items": {
              "type": "string"
            }
          },
          "decisionCodes": {
            "title": "Decision codes",
            "type": "array",
            "description": "e.g. SESE (substantially equivalent), SESK, SESD, DENG (De Novo granted); PMA: APPR, OK30. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "deviceNameKeywords": {
            "title": "Device name keywords",
            "type": "array",
            "description": "Words or phrases in the device (trade) name, e.g. catheter, AI, robotic, CGM. Any match counts.",
            "items": {
              "type": "string"
            }
          },
          "clearanceTypes": {
            "title": "510(k) clearance types",
            "type": "array",
            "description": "Traditional, Special, Abbreviated, Direct. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "includePMA": {
            "title": "Include PMA approvals",
            "type": "boolean",
            "description": "Also return Premarket Approval decisions (class III devices) from openFDA device/pma.",
            "default": false
          },
          "includePmaSupplements": {
            "title": "Include PMA supplements",
            "type": "boolean",
            "description": "When PMA is on: include supplements (labeling, manufacturing, 30-day notices). Untick for original PMA approvals only.",
            "default": true
          },
          "maxItems": {
            "title": "Max records per run",
            "minimum": 1,
            "maximum": 25000,
            "type": "integer",
            "description": "Hard cap on delivered records (also caps your spend). Small default so a first test is quick and cheap.",
            "default": 30
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the saved search for sinceLastRun mode. Use one key per schedule.",
            "default": "default"
          },
          "openfdaApiKey": {
            "title": "openFDA API key (optional)",
            "type": "string",
            "description": "Free key from open.fda.gov raises the daily request limit. Not needed for normal use."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}