{
  "openapi": "3.0.1",
  "info": {
    "title": "Business Days & Public Holidays (200+ countries)",
    "description": "Business days calculator and public holiday API for 200+ countries: working days between dates, add business days, SLA deadlines and holiday lists.",
    "version": "0.1",
    "x-build-id": "GrMEFAxnydo3t7w0K"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/finaldynamics~business-days-calculator-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-finaldynamics-business-days-calculator-api",
        "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/finaldynamics~business-days-calculator-api/runs": {
      "post": {
        "operationId": "runs-sync-finaldynamics-business-days-calculator-api",
        "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/finaldynamics~business-days-calculator-api/run-sync": {
      "post": {
        "operationId": "run-sync-finaldynamics-business-days-calculator-api",
        "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": [
          "mode",
          "countries"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "holidays",
              "businessDaysBetween",
              "addBusinessDays",
              "sla"
            ],
            "type": "string",
            "description": "Which calculation to run.",
            "default": "holidays"
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter ISO 3166-1 country codes, for example US, GB, DE.",
            "items": {
              "type": "string"
            }
          },
          "years": {
            "title": "Years (holidays mode)",
            "type": "array",
            "description": "Calendar years from 2000 through 2060. Defaults to the current year. Duplicate years are ignored.",
            "items": {
              "type": "integer",
              "minimum": 2000,
              "maximum": 2060
            }
          },
          "types": {
            "title": "Holiday types (holidays mode)",
            "type": "array",
            "description": "Filter to these holiday types, for example public, bank, optional, observance. Leave empty for all types.",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Language (holidays mode)",
            "type": "string",
            "description": "Two-letter language code for localised holiday names, for example fr or de."
          },
          "ranges": {
            "title": "Date ranges (business days between mode)",
            "type": "array",
            "description": "List of {\"start\": \"YYYY-MM-DD\", \"end\": \"YYYY-MM-DD\"} objects."
          },
          "dates": {
            "title": "Start dates (add business days mode)",
            "type": "array",
            "description": "Dates in YYYY-MM-DD form to shift forward or backward.",
            "items": {
              "type": "string"
            }
          },
          "days": {
            "title": "Business days to add",
            "type": "integer",
            "description": "Non-zero number of business days to add. Use a negative value to move backwards.",
            "default": 5
          },
          "starts": {
            "title": "Start date-times (SLA mode)",
            "type": "array",
            "description": "ISO 8601 date-times, for example 2026-01-05T09:00:00Z.",
            "items": {
              "type": "string"
            }
          },
          "offset": {
            "title": "SLA offset",
            "minimum": 1,
            "type": "integer",
            "description": "How many units of working time the SLA allows.",
            "default": 2
          },
          "unit": {
            "title": "SLA unit",
            "enum": [
              "days",
              "hours"
            ],
            "type": "string",
            "description": "Whether the offset is counted in business days or business hours.",
            "default": "days"
          },
          "dayStart": {
            "title": "Working day start (SLA mode)",
            "type": "string",
            "description": "Start of the working day as HH:MM. Defaults to 09:00 and must be before the end."
          },
          "dayEnd": {
            "title": "Working day end (SLA mode)",
            "type": "string",
            "description": "End of the working day as HH:MM. Defaults to 17:00."
          },
          "region": {
            "title": "Region",
            "type": "string",
            "description": "Optional ISO 3166-2 subdivision code, for example US-TX or DE-BY. Applies to every country in the run."
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "type": "integer",
            "description": "The most rows one run delivers. The run stops after the current batch when it reaches this limit or your spending limit. One run can make at most 10,000 calculations.",
            "default": 10000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}