{
  "openapi": "3.0.1",
  "info": {
    "title": "Upstream OpenAPI Release Impact Report for Pinned Clients",
    "description": "Compare a pinned OpenAPI or Swagger document with the current upstream document. The Actor reports every changed operation and every changed schema with a JSON pointer, the old value, the new value, a change class, and a breaking flag, and it answers one ",
    "version": "0.1",
    "x-build-id": "KUFELHXgTrywSic2y"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kingii98~upstream-openapi-release-impact-report-for-pinned-clients/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kingii98-upstream-openapi-release-impact-report-for-pinned-clients",
        "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/kingii98~upstream-openapi-release-impact-report-for-pinned-clients/runs": {
      "post": {
        "operationId": "runs-sync-kingii98-upstream-openapi-release-impact-report-for-pinned-clients",
        "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/kingii98~upstream-openapi-release-impact-report-for-pinned-clients/run-sync": {
      "post": {
        "operationId": "run-sync-kingii98-upstream-openapi-release-impact-report-for-pinned-clients",
        "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": [
          "baselineSpecUrl",
          "currentSpecUrl"
        ],
        "properties": {
          "baselineSpecUrl": {
            "title": "Baseline spec URL",
            "type": "string",
            "description": "Public URL of the pinned OpenAPI or Swagger document, for example a raw file at a fixed commit. JSON and YAML are both read. No authentication, no browser and no proxy. If you leave this field empty, the Actor compares the two public example documents shown below.",
            "default": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/e77481c73e1c703c7de2e4249047b42b8e9b56f4/examples/v3.0/petstore.json"
          },
          "currentSpecUrl": {
            "title": "Current spec URL",
            "type": "string",
            "description": "Public URL of the current upstream OpenAPI or Swagger document. JSON and YAML are both read.",
            "default": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/e77481c73e1c703c7de2e4249047b42b8e9b56f4/examples/v3.0/petstore-expanded.json"
          },
          "scope": {
            "title": "Client scope",
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "description": "Optional list of operation IDs, exact paths, or path prefixes that your client uses, for example 'listPets' or '/pets'. Every record then carries a usedByClient flag, and safeToBump looks only at the operations and schemas in scope. A schema is in scope when an operation in scope refers to it, directly or through another schema. Leave the list empty to keep every operation in scope.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "breakingRules": {
            "title": "Breaking rules",
            "minItems": 0,
            "maxItems": 15,
            "uniqueItems": true,
            "type": "array",
            "description": "Which change classes count as breaking for a pinned client decoder. The default is the set that makes a generated decoder throw: an operation or a field that disappeared, a response code that disappeared, a type that widened or narrowed, a new required field, a removed enum value, and a changed reference.",
            "items": {
              "type": "string",
              "enum": [
                "operation-removed",
                "operation-added",
                "operation-id-changed",
                "response-code-removed",
                "response-code-added",
                "field-removed",
                "field-added",
                "required-added",
                "required-removed",
                "type-widened",
                "type-narrowed",
                "type-changed",
                "enum-value-removed",
                "enum-value-added",
                "ref-changed"
              ],
              "enumTitles": [
                "Operation removed",
                "Operation added",
                "Operation ID changed",
                "Response code removed",
                "Response code added",
                "Field removed",
                "Field added",
                "Required added",
                "Required removed",
                "Type widened",
                "Type narrowed",
                "Type changed",
                "Enum value removed",
                "Enum value added",
                "Reference changed"
              ]
            },
            "default": [
              "operation-removed",
              "response-code-removed",
              "field-removed",
              "required-added",
              "type-widened",
              "type-narrowed",
              "type-changed",
              "enum-value-removed",
              "ref-changed"
            ]
          },
          "maxDepth": {
            "title": "Maximum schema depth",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Maximum depth of the schema walk. The walk stops below this depth, and the record reports walkTruncated.",
            "default": 8
          },
          "maxChangesPerEntity": {
            "title": "Maximum changes for each record",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of changes listed in one operation or schema record. A record that holds more changes reports changesTruncated, and its counts stay complete.",
            "default": 50
          },
          "timeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 2,
            "maximum": 120,
            "type": "integer",
            "description": "Per-document timeout for each GET. A document that exceeds it gets the TIMEOUT reason code.",
            "default": 30
          },
          "maxRedirects": {
            "title": "Maximum redirects",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum redirect hops followed for each document. Every hop is checked again against the private-address rules.",
            "default": 5
          },
          "maxResponseBytes": {
            "title": "Maximum document bytes",
            "minimum": 1000,
            "maximum": 20000000,
            "type": "integer",
            "description": "Per-document body cap. A larger document gets the DOCUMENT_TOO_LARGE reason code and is not parsed.",
            "default": 20000000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}