{
  "openapi": "3.0.1",
  "info": {
    "title": "PC Build Compatibility Checker: Will These Parts Fit?",
    "description": "Checks a PC build before you buy: CPU socket, RAM type and slots, PSU wattage and GPU power cables, GPU length and cooler height against the case, board and PSU form factor. Pass, fail or uncertain for each rule, citing maker spec pages. No guessing.",
    "version": "0.1",
    "x-build-id": "9o05OTnavc1iL4kJb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/anoopibrampur~pc-build-compatibility-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-anoopibrampur-pc-build-compatibility-checker",
        "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/anoopibrampur~pc-build-compatibility-checker/runs": {
      "post": {
        "operationId": "runs-sync-anoopibrampur-pc-build-compatibility-checker",
        "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/anoopibrampur~pc-build-compatibility-checker/run-sync": {
      "post": {
        "operationId": "run-sync-anoopibrampur-pc-build-compatibility-checker",
        "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": {
          "cpu": {
            "title": "CPU",
            "type": "string",
            "description": "Name of the processor, for example AMD Ryzen 7 9700X."
          },
          "motherboard": {
            "title": "Motherboard",
            "type": "string",
            "description": "Name of the motherboard. Exact names we hold maker data for fill in their RAM type and form."
          },
          "memory": {
            "title": "Memory (RAM)",
            "type": "string",
            "description": "Name of the RAM kit."
          },
          "gpu": {
            "title": "Graphics card",
            "type": "string",
            "description": "Name of the graphics card. For RTX 5070 Ti models we hold, the maker's length and recommended PSU are filled in."
          },
          "psu": {
            "title": "Power supply",
            "type": "string",
            "description": "Name of the power supply."
          },
          "case": {
            "title": "Case",
            "type": "string",
            "description": "Name of the case. Exact names we hold maker data for fill in their cooler clearance."
          },
          "cooler": {
            "title": "CPU cooler",
            "type": "string",
            "description": "Name of the CPU cooler. Exact names we hold maker data for fill in their height and sockets."
          },
          "cpuSocket": {
            "title": "CPU socket",
            "enum": [
              "AM5",
              "AM4",
              "LGA1851",
              "LGA1700",
              "LGA1200",
              "LGA1151"
            ],
            "type": "string",
            "description": "Leave empty if unknown; that check then comes back uncertain."
          },
          "cpuVendor": {
            "title": "CPU maker",
            "enum": [
              "AMD",
              "Intel"
            ],
            "type": "string",
            "description": "Used to estimate CPU power for the PSU check."
          },
          "cpuTdpW": {
            "title": "CPU TDP",
            "minimum": 0,
            "type": "integer",
            "description": "The CPU's rated TDP in watts, for the PSU check."
          },
          "boardSocket": {
            "title": "Motherboard socket",
            "enum": [
              "AM5",
              "AM4",
              "LGA1851",
              "LGA1700",
              "LGA1200",
              "LGA1151"
            ],
            "type": "string",
            "description": "The board's CPU socket."
          },
          "boardFormFactor": {
            "title": "Motherboard size",
            "enum": [
              "ATX",
              "Micro ATX",
              "Mini ITX",
              "EATX"
            ],
            "type": "string",
            "description": "The board's form factor."
          },
          "boardMemorySlots": {
            "title": "Motherboard RAM slots",
            "minimum": 0,
            "type": "integer",
            "description": "Number of RAM slots on the board."
          },
          "memoryType": {
            "title": "RAM generation",
            "enum": [
              "DDR5",
              "DDR4"
            ],
            "type": "string",
            "description": "DDR4 or DDR5."
          },
          "memoryForm": {
            "title": "RAM form",
            "enum": [
              "DIMM",
              "SO-DIMM"
            ],
            "type": "string",
            "description": "Desktop DIMM or laptop SO-DIMM."
          },
          "memoryModules": {
            "title": "RAM sticks",
            "minimum": 0,
            "type": "integer",
            "description": "Number of RAM modules in the kit."
          },
          "gpuLengthMm": {
            "title": "Graphics card length",
            "minimum": 0,
            "type": "integer",
            "description": "Only needed when we do not hold the card's maker length."
          },
          "psuWattage": {
            "title": "Power supply wattage",
            "minimum": 0,
            "type": "integer",
            "description": "The PSU's rated wattage."
          },
          "psuFormFactor": {
            "title": "Power supply size",
            "enum": [
              "ATX",
              "SFX",
              "SFX-L"
            ],
            "type": "string",
            "description": "ATX, SFX or SFX-L."
          },
          "psu16pin": {
            "title": "PSU 16-pin (12V-2x6) cables",
            "minimum": 0,
            "type": "integer",
            "description": "Native 16-pin GPU power cables on the PSU."
          },
          "psu8pin": {
            "title": "PSU 8-pin PCIe cables",
            "minimum": 0,
            "type": "integer",
            "description": "8-pin PCIe GPU power cables on the PSU."
          },
          "caseMaxGpuLengthMm": {
            "title": "Case GPU clearance",
            "minimum": 0,
            "type": "integer",
            "description": "Longest graphics card the case takes."
          },
          "caseMaxCoolerHeightMm": {
            "title": "Case cooler clearance",
            "minimum": 0,
            "type": "integer",
            "description": "Tallest CPU air cooler the case takes. Only needed when we do not hold the case."
          },
          "caseBoardSizes": {
            "title": "Case motherboard sizes",
            "type": "array",
            "description": "Board form factors the case takes, one per line.",
            "items": {
              "type": "string"
            }
          },
          "casePsuSizes": {
            "title": "Case power supply sizes",
            "type": "array",
            "description": "PSU form factors the case takes, one per line.",
            "items": {
              "type": "string"
            }
          },
          "coolerHeightMm": {
            "title": "Cooler height",
            "minimum": 0,
            "type": "integer",
            "description": "Only needed when we do not hold the cooler's maker height."
          },
          "parts": {
            "title": "Build as JSON (advanced)",
            "type": "object",
            "description": "Optional. The same build as an object of parts ({cpu: {name, socket, ...}, ...}; field names in the README). Overrides the form fields for any part it names."
          },
          "builds": {
            "title": "Batch: many builds",
            "type": "array",
            "description": "Optional. A list of {id, parts} objects, each checked as its own build."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}