FinancialReports
    FinancialReports
    • FinancialReports API Documentation
    • Changelog
    • Companies
      • List Companies
        GET
      • Retrieve Company Details
        GET
    • Filings
      • List Filings
        GET
      • Retrieve Filing Markdown
        GET
      • Retrieve Filing Details
        GET
    • Filing Types
      • The Financial Reporting Classification Framework (FRCF)
      • List Filing Types
        GET
      • Retrieve Filing Type
        GET
    • Filing Categories
      • List Filing Categories
        GET
      • Retrieve Filing Category
        GET
    • Languages
      • Understanding Language Codes
      • List Languages
        GET
      • Retrieve Language
        GET
    • ISIC Classifications
      • Understanding ISIC Classification
      • List ISIC Classes
        GET
      • Retrieve ISIC Class
        GET
      • List ISIC Divisions
        GET
      • Retrieve ISIC Division
        GET
      • List ISIC Groups
        GET
      • Retrieve ISIC Group
        GET
      • List ISIC Sections
        GET
      • Retrieve ISIC Section
        GET
    • Countries
      • Understanding Country Codes
      • List Countries
      • Retrieve Country
    • Sources
      • Understanding Data Sources
      • List Data Sources
      • Retrieve Data Source
    • Watchlist
      • Get User's Watchlist
      • Add Company to Watchlist
      • Remove Company from Watchlist
    • Webhooks (Management)
      • List Webhooks
      • Create Webhook
      • Retrieve Webhook
      • Update Webhook
      • Partial Update Webhook
      • Delete Webhook
      • Regenerate Secret Key
      • Test Webhook
    • Schemas
      • Schemas
        • CompanyMinimal
        • Country
        • ErrorDetail
        • FilingType
        • DesignatedSponsor
        • Company
        • FilingSummary
        • ISICClass
        • FilingProcessedPayload
        • FilingCategory
        • ISICDivision
        • ISICGroup
        • ISICSection
        • PaginatedFilingTypeList
        • PaginatedCompanyMinimalList
        • Language
        • PaginatedFilingSummaryList
        • PaginatedISICClassList
        • PaginatedCountryList
        • PaginatedISICDivisionList
        • ListedStockExchange
        • PaginatedSourceList
        • PaginatedISICGroupList
        • Filing
        • PaginatedISICSectionList
        • Source
        • PaginatedLanguageList
        • PaginatedFilingCategoryList
        • WatchlistAction
        • WatchlistCompany
        • WatchlistResponse
        • PaginatedWebhookList
        • PatchedWebhook
        • StockIndex
        • Webhook
        • WebhookCompanyPayload
        • WebhookFilingPayload
        • WebhookRegenerateSecret

    Changelog

    2025-12-18#

    [New] 🚀#

    Global Webhook Firehose: Introduced a new track_all_companies configuration for webhook subscriptions.
    Users can now configure webhooks to receive filing.processed events for every company in the database, bypassing the need to add companies to a personal watchlist.
    This capability is designed for high-volume automated data ingestion and broad market monitoring.
    The API endpoints POST /webhooks/ and PUT /webhooks/{id}/ now accept a track_all_companies boolean parameter to enable this mode.

    [Improved] ✨#

    Webhook Management UI: The Webhook List interface (/webhooks/) now includes distinct visual badges to differentiate between standard "Watchlist" alerts and "Global Firehose" subscriptions, providing immediate clarity on the notification scope.
    Documentation: The Webhook documentation has been updated to explicitly detail the two modes of operation (Watchlist vs. Global), including specific setup instructions and use-case recommendations for the new global tracking feature.

    2025-12-12#

    [Improved] ✨#

    Data Governance & Schema Strictness: Implemented stricter data integrity rules across the Company dataset to align with institutional standards.
    Mandatory Country Codes: The country_code field is now strictly mandatory. The API schema has been updated from string | null to string, guaranteeing a valid ISO 3166-1 alpha-2 code for every active company profile.
    LEI Uniqueness: Database-level constraints now enforce uniqueness on the Legal Entity Identifier (LEI). This ensures 1:1 entity mapping and eliminates the possibility of ambiguous duplicate profiles.

    2025-11-25#

    [New] 🚀#

    Filing Categories (Disclosure Types): Introduced a new GET /filing-categories/ endpoint.
    This endpoint exposes the 11 standardized Disclosure Types defined by the Financial Reporting Classification Framework (FRCF), such as "Financial Reporting & Information" and "ESG Information".
    This completes the API's exposure of the three-tiered FRCF hierarchy, allowing users to programmatically access the top-level classification logic.

    [Improved] ✨#

    Filing Types Taxonomy: The GET /filing-types/ endpoint has been significantly enhanced to support the new classification structure.
    Nested Category Data: Each filing type object now includes a full category object (containing id, name, and sort_order). This is an additive, backwards-compatible change that provides immediate context without requiring additional API calls.
    Category Filtering: Added a category query parameter (e.g., ?category=1) to filter publication types by their broader disclosure category.
    Text Search: Added a search query parameter (e.g., ?search=Annual) to perform case-insensitive searches against filing type codes and names.

    2025-11-24#

    [Fixed] 🐛#

    URL Generation: Fixed an issue where the markdown_url and document fields could generate incorrect paths when accessed via specific proxy configurations. These fields now strictly enforce absolute URLs (e.g., https://api.financialreports.eu/...), ensuring consistent reachability regardless of the client's network route.

    [Improved] ✨#

    Raw Markdown Delivery: The markdown endpoints now return raw, unescaped Markdown text (text/markdown) instead of a JSON-wrapped string.
    This change ensures that content is immediately renderable by client applications and correctly identified as a file download by browsers.
    Added a Content-Disposition header to the response to support proper file naming (e.g., filing_12345.md) when saving the output.

    2025-11-21#

    [Improved] ✨#

    Multi-Type Filtering: The GET /filings/ endpoint now supports a new types query parameter.
    Users can now filter by multiple filing type codes simultaneously using a comma-separated list (e.g., ?types=10-K,10-Q,10-Q).
    The filter is case-insensitive and automatically sanitizes input, ensuring a robust developer experience even if codes are entered in lowercase.

    2025-11-15#

    [New] 🚀#

    Webhook Management API: Introduced a full suite of endpoints for managing webhook subscriptions. Users can now programmatically create, list, update, and delete webhooks to receive real-time notifications for processed filings.
    GET /webhooks/: List all configured webhooks.
    POST /webhooks/: Create a new webhook subscription.
    GET /webhooks/{id}/: Retrieve a specific webhook.
    PUT /webhooks/{id}/: Update a specific webhook.
    PATCH /webhooks/{id}/: Partially update a specific webhook.
    DELETE /webhooks/{id}/: Delete a webhook.
    Webhook Actions: Added two utility endpoints for security and testing:
    POST /webhooks/{id}/regenerate-secret/: Invalidates the old secret and generates a new one for verifying payload signatures.
    POST /webhooks/{id}/test/: Sends a sample filing.processed.test event to the configured URL to help debug and validate the client's endpoint.
    Security & Validation: The POST /webhooks/ endpoint now enforces strict validation for the url field, including requiring HTTPS and performing DNS resolution to prevent SSRF (Server-Side Request Forgery) attacks against internal or reserved IP addresses.
    Documentation: The API schema now includes a dedicated "Webhooks" section documenting the filing.processed event. This provides a clear data contract for the payload that will be sent to a user's endpoint, detailing the company and filing objects.

    2025-11-13#

    [Improved] ✨#

    OpenAPI 3.1 Support: The API schema has been upgraded to OpenAPI 3.1.0. This brings full alignment with the latest JSON Schema specifications, enabling seamless integration with modern tools (including OpenAI GPT Actions) and offering improved type strictness for client SDK generation.
    Enhanced Type Definitions: Nullable fields are now explicitly typed using standard arrays (e.g., type: ["string", "null"]) rather than the legacy nullable: true flag. This provides a more precise contract for data consumers.
    Schema Hygiene: Internal session-based utility endpoints (e.g., job status checks) have been removed from the public documentation to reduce noise and focus strictly on API-key authenticated resources.

    2025-11-11#

    [Improved] ✨#

    Enhanced Filtering: The GET /filings/ endpoint now supports a new sources query parameter.
    This parameter accepts a comma-separated list of source IDs (e.g., ?sources=38,40,51), allowing clients to efficiently query for filings from multiple sources in a single API call.
    Stable Pagination: Both the GET /filings/ and GET /companies/ endpoints now support sorting by id (e.g., ?ordering=id or ?ordering=-id). This provides a consistent, incrementing key for more reliable pagination.
    Documentation: API documentation for the ordering and source parameters on these endpoints has been updated to be more explicit and descriptive.

    2025-11-08#

    [Improved] ✨#

    API Consistency: Nested objects within API responses now consistently include their primary id field.
    The source, language, and filing_type objects returned by all endpoints (e.g., GET /filings/, GET /sources/) will now include their id.
    Example: A source object in a filing response will now appear as {"id": 38, "name": "Unternehmensregister", ...}.
    This is a backwards-compatible, additive change that improves the professional standard of the API and allows for simple cross-referencing with their dedicated metadata endpoints (e.g., GET /sources/{id}/).

    2025-11-05#

    [New] 🚀#

    Watchlist Filtering: Added a new on_watchlist query parameter to both the GET /filings/ and GET /companies/ list endpoints.
    This powerful boolean filter allows users to scope search results based on their personal watchlist:
    ?on_watchlist=true: Returns only items from companies on the user's watchlist.
    ?on_watchlist=false: Returns only items from companies not on the user's watchlist.
    (Parameter omitted): Returns all items (current default behavior).

    2025-10-21#

    [Improved] ✨#

    The detailed Company object, returned by GET /companies/{id}/ and GET /companies/?view=full, has been updated to include additional data fields.
    The new fields are:
    Profile: description, description_last_updated, logo
    Address: address, city, zip_code
    Identifiers: local_company_id
    Financials: shares_outstanding
    Market Data: designated_sponsor, listed_stock_exchange, stock_index
    Database queries for the full company view have been optimized to prefetch these new related fields.

    2025-09-15#

    [Improved] ✨#

    The tagline field has been added to the Company object. This short, one-liner description is now available in both the summary and full views for the GET /companies/ and GET /companies/{id}/ endpoints, as well as in the nested company data within filing responses.

    2025-08-19#

    [Improved] ✨#

    The GET /filings/ endpoint now supports a view=full query parameter. This allows clients to retrieve the complete filing object for each item in the list, providing more detail in a single request.

    [Fixed] 🐛#

    The updated_date_from and updated_date_to query parameters are now correctly implemented and documented for the GET /filings/ endpoint. This resolves a discrepancy from the 2025-08-12 changelog and enables proper data synchronization based on the last modified date.

    2025-08-16#

    [Docs] 📝#

    Added new documentation pages explaining the standards for ISIC Classification, Language Codes, Country Codes, and Data Sources (OAMs).

    [Improved] ✨#

    The GET /companies/ endpoint now supports a view=full query parameter. This allows users to retrieve the complete company object for each item in the list, restoring access to detailed fields in response to user feedback.

    [Fixed] 🐛#

    The isins field on the Company object was not appearing in the API documentation for the /companies list and detail endpoints. This has been corrected, and the schema now accurately reflects that isins is an array of strings.

    2025-08-12#

    [Improved] ✨#

    Performance: The list endpoints for /filings/ and /companies/ now return a simplified "summary" response. This significantly reduces payload size and improves response times for list-based queries. The full object details remain available via the detail endpoints (e.g., /filings/{id}/).
    API Structure: Access to processed filing content is now more intuitive. The markdown_url field in the /filings/{id}/ response now links directly to a nested endpoint (/filings/{filing_id}/markdown/), logically connecting the content to its parent filing.
    Documentation: The API documentation has been updated to reflect all recent changes and enhancements.

    [New] 🚀#

    New Endpoints: Added two foundational endpoints to provide metadata:
    GET /countries/: Returns a list of all supported countries and their ISO codes.
    GET /languages/: Returns a list of all supported filing languages.
    New Filtering: Added two new query parameters to the GET /filings/ endpoint to allow filtering by modification date, useful for data synchronization:
    updated_date_from
    updated_date_to

    [Removed] 🗑️#

    The standalone GET /processed-filings/{id}/ endpoint has been removed in favor of the new nested markdown content endpoint for better API design and performance.
    Modified at 2025-12-18 09:57:52
    Previous
    FinancialReports API Documentation
    Next
    List Companies
    Built with