IngestRunDetail

CompanyCraftingEventEvent DiscoveryDirectoryQuiltingKnittingMCP

Properties

Name Type Description
id string
startedAt string
finishedAt stringnull
trigger string
sourcesAttempted integer
pagesChanged integer
eventsExtracted integer
eventsQueued integer
eventsAutoPublished integer
inputTokens integer
outputTokens integer
errors array
status string
sources array Every source the run's errors and warnings name, as it stands now (a deleted source is absent)
updatesMerged integernull Updates auto-merged onto published events; null while the run is still running
duplicatesSettled integernull Duplicates auto-settled onto published events; null while the run is still running
details objectnull Detail pages read, events filled and events skipped; null when none qualified or the run is still running
missingHidden integernull Events auto-hidden as no longer listed on their source; null while the run is still running
missingReturned integernull Events brought back once their source listed them again; null while the run is still running
secondOpinion objectnull Unsure events read again by the second opinion: checked, confirmed, closed on their own and left for review; null when none was checked or the run is still running
judge objectnull Waiting items the judge decided at the end of the run: published, merged, rejected, closed and left for review; null when it decided nothing or the run is still running
reread objectnull Live listings the daily re-read checked against their own page: confirmed, dates fixed, cancelled and sent to you as cards; null when it checked none or the run is still running
years objectnull Extracted events whose year their own page confirmed, and events held for a check because the page didn't show it; null when the run extracted none or is still running
intake objectnull Extracted events that weren't sent on: already listed with nothing new, matching an item already waiting for review, already over, or refused; null when there were none or the run is still running
pages objectnull Pages fetched from our own page server (the VPS) and from Firecrawl cloud, and whether the run's VPS health check failed; null when the VPS isn't configured, the run fetched no pages or it is still ru
previousRunId stringnull The run that started just before this one
nextRunId stringnull The run that started just after this one
View JSON Schema on GitHub

JSON Schema

craftingeventfinder-com-ingest-run-detail-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/craftingeventfinder-com/json-schema/craftingeventfinder-com-ingest-run-detail-schema.json",
  "title": "IngestRunDetail",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/craftingeventfinder-com-openapi.yml#/components/schemas/IngestRunDetail",
  "allOf": [
    {
      "$ref": "#/$defs/IngestRun"
    },
    {
      "type": "object",
      "properties": {
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "status": {
                "type": "string",
                "enum": [
                  "candidate",
                  "active",
                  "paused",
                  "rejected"
                ]
              },
              "consecutiveFailures": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "name",
              "status",
              "consecutiveFailures"
            ]
          },
          "description": "Every source the run's errors and warnings name, as it stands now (a deleted source is absent)"
        },
        "updatesMerged": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Updates auto-merged onto published events; null while the run is still running"
        },
        "duplicatesSettled": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Duplicates auto-settled onto published events; null while the run is still running"
        },
        "details": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "fetched": {
              "type": "integer"
            },
            "filled": {
              "type": "integer"
            },
            "skipped": {
              "type": "object",
              "properties": {
                "budget": {
                  "type": "integer"
                },
                "robots": {
                  "type": "integer"
                },
                "errors": {
                  "type": "integer"
                }
              },
              "required": [
                "budget",
                "robots",
                "errors"
              ]
            }
          },
          "required": [
            "fetched",
            "filled",
            "skipped"
          ],
          "description": "Detail pages read, events filled and events skipped; null when none qualified or the run is still running"
        },
        "missingHidden": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Events auto-hidden as no longer listed on their source; null while the run is still running"
        },
        "missingReturned": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Events brought back once their source listed them again; null while the run is still running"
        },
        "secondOpinion": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "checked": {
              "type": "integer"
            },
            "confirmed": {
              "type": "integer"
            },
            "closed": {
              "type": "integer"
            },
            "forYou": {
              "type": "integer"
            }
          },
          "required": [
            "checked",
            "confirmed",
            "closed",
            "forYou"
          ],
          "description": "Unsure events read again by the second opinion: checked, confirmed, closed on their own and left for review; null when none was checked or the run is still running"
        },
        "judge": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "published": {
              "type": "integer"
            },
            "merged": {
              "type": "integer"
            },
            "rejected": {
              "type": "integer"
            },
            "closed": {
              "type": "integer"
            },
            "left": {
              "type": "integer"
            }
          },
          "required": [
            "published",
            "merged",
            "rejected",
            "closed",
            "left"
          ],
          "description": "Waiting items the judge decided at the end of the run: published, merged, rejected, closed and left for review; null when it decided nothing or the run is still running"
        },
        "reread": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "checked": {
              "type": "integer"
            },
            "confirmed": {
              "type": "integer"
            },
            "fixed": {
              "type": "integer"
            },
            "cancelled": {
              "type": "integer"
            },
            "forYou": {
              "type": "integer"
            }
          },
          "required": [
            "checked",
            "confirmed",
            "fixed",
            "cancelled",
            "forYou"
          ],
          "description": "Live listings the daily re-read checked against their own page: confirmed, dates fixed, cancelled and sent to you as cards; null when it checked none or the run is still running"
        },
        "years": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "confirmed": {
              "type": "integer"
            },
            "held": {
              "type": "integer"
            }
          },
          "required": [
            "confirmed",
            "held"
          ],
          "description": "Extracted events whose year their own page confirmed, and events held for a check because the page didn't show it; null when the run extracted none or is still running"
        },
        "intake": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "unchanged": {
              "type": "integer"
            },
            "waiting": {
              "type": "integer"
            },
            "past": {
              "type": "integer"
            },
            "failed": {
              "type": "integer"
            }
          },
          "required": [
            "unchanged",
            "waiting",
            "past",
            "failed"
          ],
          "description": "Extracted events that weren't sent on: already listed with nothing new, matching an item already waiting for review, already over, or refused; null when there were none or the run is still running"
        },
        "pages": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "vps": {
              "type": "integer"
            },
            "cloud": {
              "type": "integer"
            },
            "healthFailed": {
              "type": "boolean"
            }
          },
          "required": [
            "vps",
            "cloud",
            "healthFailed"
          ],
          "description": "Pages fetched from our own page server (the VPS) and from Firecrawl cloud, and whether the run's VPS health check failed; null when the VPS isn't configured, the run fetched no pages or it is still running"
        },
        "previousRunId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The run that started just before this one"
        },
        "nextRunId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The run that started just after this one"
        }
      },
      "required": [
        "sources",
        "updatesMerged",
        "duplicatesSettled",
        "details",
        "missingHidden",
        "missingReturned",
        "secondOpinion",
        "judge",
        "reread",
        "years",
        "intake",
        "pages",
        "previousRunId",
        "nextRunId"
      ]
    }
  ],
  "$defs": {
    "IngestRun": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "finishedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "trigger": {
          "type": "string",
          "enum": [
            "cli",
            "api",
            "cron"
          ]
        },
        "sourcesAttempted": {
          "type": "integer"
        },
        "pagesChanged": {
          "type": "integer"
        },
        "eventsExtracted": {
          "type": "integer"
        },
        "eventsQueued": {
          "type": "integer"
        },
        "eventsAutoPublished": {
          "type": "integer"
        },
        "inputTokens": {
          "type": "integer"
        },
        "outputTokens": {
          "type": "integer"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "sourceId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "type": "string"
              },
              "level": {
                "type": "string",
                "enum": [
                  "error",
                  "warning"
                ]
              }
            },
            "required": [
              "sourceId",
              "message",
              "level"
            ]
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "running",
            "ok",
            "partial",
            "failed"
          ]
        }
      },
      "required": [
        "id",
        "startedAt",
        "finishedAt",
        "trigger",
        "sourcesAttempted",
        "pagesChanged",
        "eventsExtracted",
        "eventsQueued",
        "eventsAutoPublished",
        "inputTokens",
        "outputTokens",
        "errors",
        "status"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/craftingeventfinder-com-ingest-run-detail"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.