{
  "openapi": "3.0.1",
  "info": {
    "title": "France Company Announcements (BODACC)",
    "description": "Search and monitor French BODACC company announcements: creations, modifications, sales, insolvency procedures, struck-off companies, account filings. Legal entities only (GDPR by design). Unofficial tool using official open data.",
    "version": "0.1",
    "x-build-id": "lfEvWPsJcmfTfnLnc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shadow-tools~france-company-announcements-bodacc/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shadow-tools-france-company-announcements-bodacc",
        "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/shadow-tools~france-company-announcements-bodacc/runs": {
      "post": {
        "operationId": "runs-sync-shadow-tools-france-company-announcements-bodacc",
        "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/shadow-tools~france-company-announcements-bodacc/run-sync": {
      "post": {
        "operationId": "run-sync-shadow-tools-france-company-announcements-bodacc",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "monitor"
            ],
            "type": "string",
            "description": "Pick one. \"search\" = use for a question about announcements in a period (what was published about company X, which companies entered liquidation in Gironde this week): returns notices matching your filters, newest first. \"monitor\" = use only for scheduled (daily) runs: returns only notices published since the previous run with the same filters, state is kept per Actor and user store, and the first monitor run returns the most recent notices (sinceDays). Allowed values: search, monitor. Default: search.",
            "default": "search"
          },
          "keywords": {
            "title": "Company name keywords",
            "maxItems": 50,
            "type": "array",
            "description": "Words searched in the company name (denomination), as a list, e.g. [\"boulangerie\", \"transports\"]. ANY of them matches (OR), at the start of a word, accents and case ignored. The company name is in French. Empty = no name filter.",
            "items": {
              "type": "string"
            }
          },
          "sirens": {
            "title": "SIREN numbers",
            "maxItems": 200,
            "type": "array",
            "description": "Companies to follow, as a list of 9-digit SIREN numbers (a 14-digit SIRET is cut to its SIREN), e.g. [\"552100554\"]. Use it to get every announcement about known companies. Empty = no SIREN filter.",
            "items": {
              "type": "string"
            }
          },
          "families": {
            "title": "Notice families",
            "maxItems": 9,
            "type": "array",
            "description": "Kinds of announcement to keep, as a list, e.g. [\"collective\", \"radiation\"]. Allowed values: creation (Creations), immatriculation (Registrations), modification (Modifications), vente (Sales and transfers of businesses), radiation (Struck off (radiations)), collective (Insolvency (collective procedures)), conciliation (Conciliation procedures), retablissement_professionnel (Professional recovery procedures), dpc (Annual accounts filings). Empty = all families.",
            "items": {
              "type": "string",
              "enum": [
                "creation",
                "immatriculation",
                "modification",
                "vente",
                "radiation",
                "collective",
                "conciliation",
                "retablissement_professionnel",
                "dpc"
              ],
              "enumTitles": [
                "Creations",
                "Registrations",
                "Modifications",
                "Sales and transfers of businesses",
                "Struck off (radiations)",
                "Insolvency (collective procedures)",
                "Conciliation procedures",
                "Professional recovery procedures",
                "Annual accounts filings"
              ]
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "maxItems": 3,
            "type": "array",
            "description": "Keep only some notice types, as a list, e.g. [\"annonce\"]. Allowed values: annonce (original notice), rectificatif (correction of an earlier notice: flagged isCorrection and linked in correctsNoticeId), annulation (cancellation of an earlier notice). Empty = all types, corrections included and flagged.",
            "items": {
              "type": "string",
              "enum": [
                "annonce",
                "rectificatif",
                "annulation"
              ],
              "enumTitles": [
                "Original notice",
                "Correction",
                "Cancellation"
              ]
            }
          },
          "procedureKeywords": {
            "title": "Insolvency procedure keywords",
            "maxItems": 20,
            "type": "array",
            "description": "Words matched against the judgment type label of insolvency notices, as a list, e.g. [\"liquidation\", \"redressement\", \"sauvegarde\"]. ANY matches. Only notices with a judgment label can match, so combine with families [\"collective\"]. Empty = no procedure filter.",
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Departments",
            "maxItems": 100,
            "type": "array",
            "description": "French department codes of the notice, as a list, e.g. [\"75\", \"2A\", \"974\"]. Codes are 01-95, 2A, 2B and 971-976 (overseas). Empty = all departments.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "maxItems": 19,
            "type": "array",
            "description": "Regions of the notice, as a list of official names, e.g. [\"Bretagne\", \"Île-de-France\"]. Empty = all regions.",
            "items": {
              "type": "string",
              "enum": [
                "Auvergne-Rhône-Alpes",
                "Bourgogne-Franche-Comté",
                "Bretagne",
                "Centre-Val de Loire",
                "Corse",
                "Grand Est",
                "Guadeloupe",
                "Guyane",
                "Hauts-de-France",
                "La Réunion",
                "Martinique",
                "Mayotte",
                "Normandie",
                "Nouvelle-Aquitaine",
                "Occitanie",
                "Pays de la Loire",
                "Provence-Alpes-Côte d'Azur",
                "Saint-Pierre-et-Miquelon",
                "Île-de-France"
              ]
            }
          },
          "sinceDays": {
            "title": "Period: last N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Look at notices published in the last N days, today included, as an integer, e.g. 30. Ignored in search mode when dateFrom is set; in monitor mode only used by the first run. Default: 7.",
            "default": 7
          },
          "dateFrom": {
            "title": "Period start (date)",
            "type": "string",
            "description": "First publication date to include, format YYYY-MM-DD, e.g. 2026-10-01. Search mode only. Overrides sinceDays. Empty = use sinceDays."
          },
          "dateTo": {
            "title": "Period end (date)",
            "type": "string",
            "description": "Last publication date to include, format YYYY-MM-DD, e.g. 2026-10-31. Search mode only. Empty = today (Paris time)."
          },
          "maxResults": {
            "title": "Maximum notices",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of notices returned (and billed), as an integer from 1 to 10000, e.g. 20. Keep it small for a quick answer: a run of 1000 takes a few minutes. Default: 20.",
            "default": 20
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}