{
  "openapi": "3.0.1",
  "info": {
    "title": "Webhook Inbox — Catch Every Webhook, Lose Nothing",
    "description": "Point any service's webhook at this inbox and every delivery is stored as a dataset row you can read, schedule against, or relay onward. Retries are flagged as duplicates, never dropped, and a body that will not parse is kept rather than thrown away.",
    "version": "0.1",
    "x-build-id": "7iWxQ1KHsyuuY4T1B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alaudinburki~webhook-inbox/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alaudinburki-webhook-inbox",
        "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/alaudinburki~webhook-inbox/runs": {
      "post": {
        "operationId": "runs-sync-alaudinburki-webhook-inbox",
        "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/alaudinburki~webhook-inbox/run-sync": {
      "post": {
        "operationId": "run-sync-alaudinburki-webhook-inbox",
        "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": {
          "secretToken": {
            "title": "Ingest secret (optional)",
            "type": "string",
            "description": "Set your own secret so the ingest URL is predictable. Leave empty and one is generated for you on first start and persisted, so the URL stays the same across restarts."
          },
          "dedupeWindowSecs": {
            "title": "Duplicate window (seconds)",
            "minimum": 0,
            "type": "integer",
            "description": "How long a delivery id is remembered. A retry inside the window is still stored, but flagged duplicate so you can filter it. Set 0 to turn duplicate flagging off entirely.",
            "default": 900
          },
          "dedupeKeyHeader": {
            "title": "Header holding the delivery id",
            "type": "string",
            "description": "Which header identifies a delivery. Falls back to Idempotency-Key, X-Webhook-Id, X-Delivery-Id and X-Request-Id, then to well-known body fields, then to a hash of the body.",
            "default": "idempotency-key"
          },
          "forwardUrl": {
            "title": "Relay each delivery onward (optional)",
            "type": "string",
            "description": "A URL to relay each stored delivery to. Leave empty to store only. The relay outcome is reported in the HTTP response and the counters; the delivery is already stored either way.",
            "default": ""
          },
          "forwardRetries": {
            "title": "Relay retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "How many times a failed relay is retried before the response reports it as failed. The delivery stays stored regardless.",
            "default": 2
          },
          "forwardTimeoutSecs": {
            "title": "Relay timeout (seconds)",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "How long one relay attempt may take before it is abandoned and retried.",
            "default": 10
          },
          "maxBodyKb": {
            "title": "Maximum body size (KB)",
            "minimum": 1,
            "maximum": 10240,
            "type": "integer",
            "description": "Bodies larger than this are rejected with HTTP 413 rather than buffered into memory. Raise it only if a sender you control needs it.",
            "default": 1024
          },
          "maxSeenKeys": {
            "title": "How many delivery ids to remember",
            "minimum": 100,
            "maximum": 1000000,
            "type": "integer",
            "description": "Memory cap for duplicate detection on a server that may run for days. The oldest ids are forgotten first.",
            "default": 20000
          },
          "redactHeaders": {
            "title": "Headers to redact",
            "type": "array",
            "description": "Header names stored as [redacted]. Authorization, Cookie, Proxy-Authorization and X-Api-Key are always redacted; add any others your sender uses for credentials.",
            "default": [
              "authorization",
              "cookie",
              "x-api-key"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}