Skip to main content
Glama

Server Details

Pay-per-call data APIs for AI agents: business, compliance, procurement, VAT and IBAN via x402.

Ownership verified
Status
Healthy
Uptime
99.8% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 59 tools

Disambiguation4/5

The domain prefixes (company_fr_, procurement_fr_, real_estate_fr_) separate tool clusters well, and nearly every tool includes explicit 'Use when' and 'Avoid when' cross-references that sharply delineate boundaries. However, several sibling clusters remain close (risk vs default_score vs risk_reading vs signals; peers vs benchmark vs compare; events vs legal_announcements_search), so an agent must read closely to pick correctly.

Naming Consistency5/5

Tool names follow a highly predictable domain_country_topic snake_case pattern (e.g., company_fr_search, procurement_fr_awards, real_estate_fr_valuation, vat_eu_validate). The few catalog tools (describe_api, list_categories, search_apis) still match the verb_noun style and don't break the overall convention.

Tool Count2/5

With 59 tools, the server is far beyond the 3-15 well-scoped range and even exceeds the 25+ heavy threshold. The breadth is genuine — company intelligence, procurement, real estate, compliance, and validation — and the prefixes keep it navigable, but this volume places a real cognitive load on an agent that a smaller, more focused server would avoid.

Completeness4/5

The server covers the French public-business-data domain remarkably well: search/verify/profile through financials, risk, compliance, contracts, subsidies, opportunities, procurement analytics, and real-estate workflows, plus aggregator and output formats like kyb_batch and report. Minor gaps exist (no beneficial-owner data, no official credit scoring, no property listings), but agents can work around them using the documented boundaries.

Available Tools

59 tools
company_fr_aidsFrench Company Public FundingAInspect

Finds and ranks French public funding programs potentially relevant to a company based on its profile, location and project. Eligibility results are indicative and do not constitute an official eligibility decision. Use when: You need to find and rank French public funding schemes that may fit a company profile, territory and optional project. You need explainable matching reasons and known/unknown eligibility criteria before manually reviewing an aid program. Avoid when: You need an official eligibility decision, approval decision or automatic grant application. You need funding programs unrelated to the public Aides-entreprises dataset used by this endpoint. Limitations: potentially_eligible means only that automatically verifiable criteria show no known incompatibility; detailed conditions must still be checked. Some workforce, company-age, size-text and fine-grained geographic criteria can remain unknown, and very local schemes can be omitted when exact geographic matching is not possible. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of ranked aid schemes to return
projectNoOptional project context used to rank matching public aid schemes
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
aidsYesRanked public funding schemes returned by the endpoint.
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
truncatedYesWhether additional matching records existed beyond the returned result limit.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
company_statusYesCurrent public administrative company status when available.
returned_countYesNumber of records included in this response.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).
matching_contextYesStructured value returned for “matching context” as defined by this API contract.
total_candidatesYesStructured value returned for “total candidates” as defined by this API contract.
source_total_countYesStructured value returned for “source total count” as defined by this API contract.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description transparently discloses that results are indicative, that 'potentially_eligible' only means no known incompatibility, and that the call consumes an x402 payment. It also clarifies that source records are not modified, which is important given the annotations do not flag the call as read-only or idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: purpose, usage guidance, limitations, pricing, and payment behavior. It is front-loaded with the core action and every section adds necessary operational information for a paid API endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with paid-call behavior, nuanced eligibility semantics, and a limited parameter set, the description covers all needed context: what it does, when to use it, when to avoid it, limitations, cost, and payment behavior. Output schema presence means return-value details do not need to be described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all three parameters with descriptions and 100% coverage, so the baseline is 3. The description adds contextual meaning by mentioning profile, location, and project, but it does not add parameter syntax or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Finds and ranks French public funding programs potentially relevant to a company.' It also differentiates from siblings by scoping to the Aides-entreprises dataset and by explicitly excluding official eligibility decisions and automatic grant applications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' sections, including conditions such as needing explainable matching reasons and avoiding official eligibility decisions. It does not name a specific alternative tool, so it stops short of a 5, but the context is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_benchmarkBenchmark a French company against public peersAInspect

Benchmarks a company against public peers using available revenue, net income, growth and margin metrics. Use when: Benchmarks a company against public peers using available revenue, net income, growth and margin metrics. You need to benchmark one French company against automatically selected public peers. You want available revenue, net-income, growth and margin comparisons with peer context. Avoid when: You already have a fixed set of 2 to 5 companies to compare; use company/fr/compare. You only need the comparable-company list without metrics; use company/fr/peers. Limitations: Benchmark quality depends on public financial data being available for the target and selected peers. The peer sample is an administrative/public-data comparison set, not an official industry benchmark. Price: 0.040 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoGeographic comparison scope controlling whether candidates are selected by department, region or all of France. (default region; allowed values: department, region, france).region
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.
peer_limitNoMaximum number of comparable peer companies used by the benchmark. (minimum 2; maximum 10; default 5).

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
peersYesStructured value returned for “peers” as defined by this API contract.
scopeYesStructured value returned for “scope” as defined by this API contract.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
metricsYesStructured value returned for “metrics” as defined by this API contract.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
peer_countYesStructured value returned for “peer count” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false, so the description carries the behavioral disclosure burden. It explicitly covers paid-call behavior, x402 payment consumption, free challenge behavior, repeat-call payment implications, accepted networks, source-record non-modification, and data-quality limitations. This is far beyond what annotations or schema provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear labels, but it repeats the opening sentence almost verbatim in the Use-when section ('Benchmarks a company against public peers using available revenue, net income, growth and margin metrics'). Some trimming would make it tighter without losing key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, network-restricted benchmark tool, the description covers purpose, selection criteria, input context, exclusions, pricing, payment behavior, network constraints, and data limitations. An output schema exists, so the description does not need to explain return values. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for identifier, scope, and peer_limit, including defaults, ranges, and allowed enum values. The tool description itself adds no deeper parameter meaning, but the schema already carries the full load, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Benchmarks a company against public peers using available revenue, net income, growth and margin metrics.' It clearly distinguishes this tool from the nearby compare and peers tools by naming them as alternatives in the Avoid-when section.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit and actionable: Use-when conditions, Avoid-when conditions with named sibling tools (company/fr/compare and company/fr/peers), plus limitations. An agent can decide between this and related tools without guessing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_certificationsFrench Company CertificationsAInspect

Aggregates and normalizes public certifications and qualifications available for a French company, including RGE, organic certification and Qualiopi. Use when: You need public RGE, organic/Bio or Qualiopi certifications and qualifications linked to a French company. You need one normalized response combining the supported public certification sources. Avoid when: You need an exhaustive registry of every possible certification, private label or ISO certification held by the company. You need to infer a certification that is not explicitly present in one of the supported public sources. Limitations: Coverage is limited to the RGE, Agence Bio and Qualiopi public datasets used by this endpoint. A temporarily unavailable source can make the result partial, and source validity/status fields remain authoritative. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
sourcesYesPublic data sources used or checked for this result.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
certificationsYesNormalized public certification records returned by the endpoint.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).
certifications_countYesStructured value returned for “certifications count” as defined by this API contract.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by explaining paid-call behavior: source records are not modified, a successful call may consume the x402 payment, the challenge is free, and repeats may require new payment. It also discloses that an unavailable source can make results partial and that status fields remain authoritative. This clarifies the meaning of readOnlyHint=false without contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but well-structured with labeled sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted networks). Every section carries decision-relevant information, though the paid-call section is slightly dense and could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the paid API model, multi-source aggregation, and partial-failure risk, the description covers all essential context: when to use, when to avoid, data-source limits, cost, payment mechanics, and accepted networks. The presence of an output schema means return-value format does not need to be stated in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage for the single identifier parameter, including a regex pattern and a clear '9-digit SIREN or 14-digit SIRET' description. The tool description adds no parameter-specific semantics beyond the context that the company is French, so it neither improves nor harms parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Aggregates and normalizes') and a precise resource ('public certifications and qualifications available for a French company'), then names the concrete certification types: RGE, organic/Bio, and Qualiopi. This clearly distinguishes it from the many sibling company_fr_* tools by scope rather than relying on the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' and 'Avoid when' sections give the agent concrete selection criteria: use for public RGE/Bio/Qualiopi data, avoid for exhaustive registries, private labels, or ISO certifications. It does not name an alternative sibling tool, but the exclusion conditions are specific enough to prevent obvious misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_changesFrench Company ChangesAInspect

Returns explicit historized Sirene change flags for a French legal unit, with the normalized state that became effective on each change date. Use when: You need explainable administrative changes recorded in historized Sirene periods for one company. Avoid when: You need BODACC legal notices; use company/fr/events or company/fr/legal-announcements-search. Limitations: Only change flags explicitly provided by Sirene are returned; business events are not inferred. Sirene exposes one change indicator for the three usual-denomination fields; when it changes, the post-change values of all three fields are returned. Price: 0.015 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum changes to return, up to 100
sinceNoOptional inclusive change start date
untilNoOptional inclusive change end date
offsetNoZero-based offset within the filtered change list; use next_offset to continue
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesStructured value returned for “limit” as defined by this API contract.
sinceYesStructured value returned for “since” as defined by this API contract.
sirenYesNormalized 9-digit French SIREN when available.
untilYesStructured value returned for “until” as defined by this API contract.
existsYesWhether the requested company or public record was found in the checked source.
offsetYesStructured value returned for “offset” as defined by this API contract.
changesYesStructured value returned for “changes” as defined by this API contract.
truncatedYesWhether additional matching records existed beyond the returned result limit.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
next_offsetYesStructured value returned for “next offset” as defined by this API contract.
total_countYesTotal number of matching records reported by the source or endpoint.
returned_countYesNumber of records included in this response.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false, so the description carries the full burden of disclosing side effects. It clearly states that source records are not modified, that a successful paid invocation can consume payment, that the payment challenge is free, and that repeating the call may require new payment. It also documents accepted x402 networks. This is strong behavioral disclosure beyond the annotations, and there is no contradiction: the non-read-only annotation is consistent with the payment side effect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core behavior is front-loaded in the first sentence, and the remaining sections are compact and purposeful: use/avoid guidance, limitations, price, paid-call behavior, and accepted networks. Every sentence carries decision-relevant information without filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a well-documented input schema and an output schema, and the description adds the missing operational context: when to use it, when not to, what limitations apply, what the call costs, and what side effects occur. An agent has everything needed to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with all five parameters already documented in the input schema, so the description does not need to re-explain them. The caveat about the single change indicator covering three denomination fields is useful for interpreting returned state, but it does not add meaning to the input parameters themselves. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Returns explicit historized Sirene change flags for a French legal unit, with the normalized state that became effective on each change date.' It clearly differentiates itself from BODACC-related siblings by naming company/fr/events and company/fr/legal-announcements-search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, including specific alternative tools. It also adds a limitation note explaining that only explicitly provided Sirene flags are returned, preventing an agent from over-interpreting the result set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_closuresFrench Company ClosuresAInspect

Lists French legal units entering a closed Sirene administrative period during a requested date window, while preserving their current status if later reactivated. Use when: You need French legal units whose Sirene administrative status changed to closed during a date window. Avoid when: You need BODACC deregistration notices rather than Sirene administrative cessation; use company/fr/events. Limitations: A Sirene administrative cessation is not equivalent to insolvency, liquidation or a BODACC deregistration notice. A legal unit may later be reactivated. A cursor is bound to its date-window query and should only be reused to continue that same query. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return, up to 100
sinceNoInclusive start date; defaults to a 7-day window
untilNoInclusive end date; defaults to today
cursorNoOpaque Sirene cursor from next_cursor; omit it on the first call*

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesStructured value returned for “limit” as defined by this API contract.
sinceYesStructured value returned for “since” as defined by this API contract.
untilYesStructured value returned for “until” as defined by this API contract.
cursorYesStructured value returned for “cursor” as defined by this API contract.
closuresYesStructured value returned for “closures” as defined by this API contract.
truncatedYesWhether additional matching records existed beyond the returned result limit.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
next_cursorYesStructured value returned for “next cursor” as defined by this API contract.
total_countYesTotal number of matching records reported by the source or endpoint.
returned_countYesNumber of records included in this response.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only coarse hints, so the description adds valuable behavior: successful calls can consume an x402 payment, source records are not modified, the payment challenge is free, repeated invocation may require new payment, and cursors are bound to their original query. No contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then organized into use/avoid, limitations, price, paid-call behavior, and accepted networks. No unnecessary fluff; every section adds actionable information and is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the tool's purpose, selection criteria, limitations, payment side effects, cursor constraints, and accepted networks. Output schema covers return fields, and since there are no required params, callers can rely on documented defaults. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds useful cursor semantics—'A cursor is bound to its date-window query and should only be reused to continue that same query'—which goes beyond the schema's generic cursor description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Lists French legal units entering a closed Sirene administrative period during a requested date window.' It also clarifies the nuanced preservation of current status if later reactivated, and explicitly distinguishes itself from BODACC/company/fr/events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Use when' and 'Avoid when' sections, names the alternative tool company/fr/events, and explains that Sirene administrative cessation is not equivalent to insolvency, liquidation, or BODACC deregistration. This gives an agent clear routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_compareCompare French companiesAInspect

Compares 2 to 5 French companies across public administrative, financial and legal-risk fields without producing a global winner. Use when: Compares 2 to 5 French companies across public administrative, financial and legal-risk fields without producing a global winner. You already know 2 to 5 French company identifiers and want a side-by-side public-data comparison. You need comparable administrative, financial and legal-risk fields without declaring a global winner. Avoid when: You need an automatically selected peer set and relative metrics; use company/fr/benchmark. You need details for only one company; use the relevant single-company endpoint. Limitations: Comparability depends on which public fields are available for every supplied company. Missing public financial data can make some cross-company comparisons incomplete. Price: 0.030 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifiersYesList of French company identifiers to process; each item must be a 9-digit SIREN or 14-digit SIRET. (at least 2 items; at most 5 items).

Output Schema

ParametersJSON Schema
NameRequiredDescription
rankingsYesStructured value returned for “rankings” as defined by this API contract.
companiesYesStructured company records returned by the endpoint.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
comparabilityYesStructured value returned for “comparability” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, the description discloses that source records are not modified but the paid x402 invocation can consume payment, that the challenge is free, and that repetition may require a new payment. It also lists accepted networks and limitations, giving richer behavioral context than the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is front-loaded and organized into useful sections, but the opening statement is repeated nearly verbatim in the 'Use when' section. The redundancy is minor and the overall length is justified by pricing and payment details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers when to use, when not to use, alternatives, limitations, pricing, paid-call behavior, and accepted networks. An output schema exists, so return-value details are not required, and nothing needed to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already documents the identifier pattern (SIREN/SIRET), minItems, and maxItems. The description adds no new parameter-level meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: compares 2 to 5 French companies across administrative, financial, and legal-risk fields, and explicitly states it does not produce a global winner. This distinguishes it from single-company and benchmarking siblings, so an agent can tell it apart without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit 'Use when' and 'Avoid when' guidance, naming company/fr/benchmark for automatic peer sets and single-company endpoints for one-company lookups. Limitations on comparability add further decision-relevant context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_complianceFrench Company Compliance ChecksAInspect

Checks a French company against supported public alert and sanctions sources and adds a structured REGAFI registration summary. The absence of a match must not be interpreted as a guarantee of compliance. Use when: You need to check a French company against the supported public AMF alert and national asset-freeze sources. You need a structured REGAFI registration summary together with public alert and sanctions checks. Avoid when: You need a complete AML/KYC decision, beneficial-owner screening or a legal guarantee of compliance. You need company insolvency or deregistration risk rather than sanctions/alert screening; use company/fr/risk. Limitations: NO_PUBLIC_ALERT_FOUND means only that no match was found in the checked public sources; it is not a compliance guarantee. Matches without a shared administrative identifier can be inferred and are explicitly marked with confidence; an input domain is checked as a separate subject. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoOptional domain to check separately; it is not considered officially associated with the company
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
checksYesStructured value returned for “checks” as defined by this API contract.
domainYesStructured value returned for “domain” as defined by this API contract.
existsYesWhether the requested company or public record was found in the checked source.
statusYesNormalized endpoint or source status. (allowed values: PUBLIC_ALERT_FOUND, NO_PUBLIC_ALERT_FOUND, INCOMPLETE, COMPANY_NOT_FOUND).
matchesYesCandidate public-list or source matches returned by the endpoint.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
regulatoryNoStructured value returned for “regulatory” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
company_statusYesCurrent public administrative company status when available.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses paid-call behavior, the free payment challenge, the possibility of needing a new payment on repeat invocation, and the fact that source records are not modified. It also warns that absence of a match is not a compliance guarantee and that inferred matches are marked with confidence. No statement contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but every section earns its place: purpose, routing, limitations, pricing, paid-call behavior, and accepted networks. It is front-loaded with the core function and the key compliance disclaimer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid compliance tool, the description covers operational, financial, and data-quality context completely: when to use, what not to conclude, payment specifics, and supported networks. With an output schema present, return-value details do not need to be restated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers both parameters, so the description correctly avoids repeating formats. It adds useful semantic context by noting that the domain is checked as a separate, non-officially-associated subject and that matches without a shared administrative identifier are inferred with explicit confidence.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific operation—checking a French company against supported public alert and sanctions sources—and adds the structured REGAFI registration summary as a distinct output. It distinguishes itself from siblings by naming the exact scope and by explicitly contrasting with company/fr/risk.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' and 'Avoid when' sections give explicit routing criteria, including when to choose company/fr/risk instead. It also excludes complete AML/KYC decisions, beneficial-owner screening, legal guarantees, and insolvency/deregistration risk, leaving no ambiguity about alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_default_scoreExplainable public default-risk indicatorAInspect

Returns a deterministic, explainable HelpMyAgent public-data default-risk indicator. It is not an official credit score. Use when: Returns a deterministic, explainable HelpMyAgent public-data default-risk indicator. It is not an official credit score. You need one deterministic, explainable public-data default-risk indicator for workflow triage. You want the component contributions and confidence rather than an opaque score. Avoid when: You only need insolvency, deregistration or legal-event risk; use company/fr/risk. You need an official credit rating, lending decision or regulated probability of default. Limitations: This is a HelpMyAgent indicator derived from available public data, not an official credit score. Missing source data reduces the evidence available to the indicator and is reflected in confidence/coverage fields. Price: 0.075 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
levelYesStructured value returned for “level” as defined by this API contract.
scoreYesNormalized score produced by the endpoint; interpretation is defined by the tool description and limitations.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
componentsYesStructured value returned for “components” as defined by this API contract.
confidenceYesConfidence indicator associated with an inferred or derived result.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable.
known_weight_percentNoStructured value returned for “known weight percent” as defined by this API contract.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the sparse annotations by disclosing that the indicator is deterministic, not an official credit score, and that missing source data affects confidence/coverage. It also clearly explains paid-call behavior: payment may be consumed, the challenge is free, and repeating the tool may require a new payment. This is especially valuable because annotations do not indicate read-only or idempotent behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with helpful labeled sections, but it contains a clear duplication: the opening sentence 'Returns a deterministic, explainable HelpMyAgent public-data default-risk indicator. It is not an official credit score.' is repeated almost verbatim inside the 'Use when' section. The pricing and network details are useful but could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter paid tool with a rich output schema, the description covers use cases, exclusions, limitations, pricing, payment behavior, and accepted networks. Nothing essential for an agent to decide when and how to invoke this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage: it defines `identifier` as a French company identifier with a pattern and description of SIREN/SIRET. The description adds no additional parameter-level meaning, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns'), a clear resource ('public-data default-risk indicator'), and distinctive attributes ('deterministic, explainable', 'component contributions and confidence'). It explicitly differentiates from company_fr/risk by naming that tool as the alternative for insolvency/deregistration/legal-event risk.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' section gives concrete scenarios such as 'workflow triage' and wanting 'component contributions and confidence rather than an opaque score'. The 'Avoid when' section explicitly lists the alternative tool (company/fr/risk) and excluded use cases like official credit ratings or regulated probability of default.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_director_mandatesFrench director mandatesAInspect

Searches public French company director mandates by name. Name matching can include homonyms and does not prove identity. Use when: Searches public French company director mandates by name. Name matching can include homonyms and does not prove identity. You know a director name and want public French company mandates associated with that name. You need candidate company links before manually resolving a person’s identity. Avoid when: You already know the company and need its current listed directors; use company/fr/directors. You need identity proof, beneficial ownership or personal contact information. Limitations: Name-based matching can include homonyms and does not prove that records refer to the same natural person. Returned mandates depend on the public company records available to the source. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoOne-based result page number. (minimum 1; default 1).
limitNoMaximum number of records returned by this call. (minimum 1; maximum 25; default 25).
last_nameYesDirector family name to search in public French company mandates; name matching can include homonyms. (minimum length 2).
first_namesNoOptional first name or given names used to narrow director-mandate matches.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesStructured value returned for “page” as defined by this API contract.
limitYesStructured value returned for “limit” as defined by this API contract.
mandatesYesStructured value returned for “mandates” as defined by this API contract.
last_nameYesStructured value returned for “last name” as defined by this API contract.
first_namesYesStructured value returned for “first names” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
total_companiesYesStructured value returned for “total companies” as defined by this API contract.
returned_mandatesYesStructured value returned for “returned mandates” as defined by this API contract.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Although readOnlyHint is false, the description explains that source records are not modified but paid invocations consume x402 payment, and it warns about homonyms and identity ambiguity. This adds useful context beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into clear sections but is somewhat repetitive: the opening sentence is duplicated verbatim at the start of the 'Use when' section. It remains readable but contains avoidable redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and explicit guidance on use cases, limitations, payment behavior, and alternatives, the agent has the key information needed to call the tool correctly. The response structure is left to the output schema, which is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all four parameters with descriptions and constraints, so schema coverage is 100%. The description adds only marginal meaning by emphasizing last_name as the search key and first_names as an optional narrowing field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Searches public French company director mandates by name.' It also explicitly contrasts itself with company/fr/directors, making the tool's scope and boundaries clear to an agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit 'Use when' and 'Avoid when' sections, naming the alternative company/fr/directors and listing exclusions such as identity proof, beneficial ownership, and contact information. This provides actionable routing criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_directorsFrench Company DirectorsAInspect

Returns publicly listed directors and legal representatives of a French company from a SIREN or SIRET. Use when: You need the publicly listed directors or legal representatives of a French company. You need normalized names, roles and available public identity fields for company leadership. Avoid when: You need beneficial owners or shareholder ownership information; this endpoint does not provide an ownership register. You need personal contact details or non-public information about directors. Limitations: Only directors and representatives exposed by the public company source are returned. Some person or role fields can be missing or incomplete in the source. Price: 0.005 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
directorsYesPublicly listed directors or legal representatives returned by the endpoint.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond annotations by disclosing that source records are not modified, that successful calls consume an x402 payment, that the payment-required challenge is free, and that repeated calls may require a new payment. It also notes source-driven data limitations such as missing or incomplete person/role fields. This aligns with annotations rather than contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: purpose, use when, avoid when, limitations, price, paid-call behavior, and accepted networks. It is somewhat verbose, but every section carries useful decision-making or side-effect information, and the core purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter paid tool with an output schema, the description covers purpose, usage boundaries, limitations, payment side effects, idempotency nuance, and accepted networks. An agent has everything needed to select the tool and understand the consequences of calling it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents the only parameter, identifier, with a pattern and a description of '9-digit SIREN or 14-digit SIRET'. The tool description merely restates SIREN/SIRET as the input source and adds no new parameter-level meaning, so the baseline 3 for high schema coverage applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence clearly states what the tool does: returns publicly listed directors and legal representatives for a French company from a SIREN or SIRET. It also distinguishes itself from ownership-related endpoints via the 'Avoid when' note, though it does not explicitly name a sibling alternative like company_fr_director_mandates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' conditions, including exclusions for beneficial owners, shareholder ownership, and personal contact details. It does not name alternative sibling tools, so the routing guidance is strong but not fully explicit about the alternative to pick.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_e_invoiceFrench E-Invoice PreparationAInspect

Prepares public company identifiers and a category-based reference schedule for French e-invoicing workflows. Use when: Prepare public identity fields for a French electronic-invoicing workflow. You need public company identifiers and a category-based reference schedule for a French e-invoicing workflow. You want headquarters SIRET, VAT number and indicative receiving/issuing obligation dates together. Avoid when: You are checking identifiers already printed on a supplier invoice; use company/fr/invoice-check. You only need the company’s current public profile; use company/fr/profile. Limitations: The schedule is derived from public company-category information and the implemented reference rules. It does not confirm enrollment with a specific invoicing platform or guarantee operational readiness. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
vat_numberYesStructured value returned for “vat number” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
prepared_atYesStructured value returned for “prepared at” as defined by this API contract.
company_categoryYesStructured value returned for “company category” as defined by this API contract.
headquarters_siretYesStructured value returned for “headquarters siret” as defined by this API contract.
establishment_scopeYesStructured value returned for “establishment scope” as defined by this API contract.
headquarters_addressYesStructured value returned for “headquarters address” as defined by this API contract.
issuing_obligation_fromYesStructured value returned for “issuing obligation from” as defined by this API contract.
receiving_obligation_fromYesStructured value returned for “receiving obligation from” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite annotations all being false, the description discloses critical behavioral traits: it is a paid call (price), it can consume payment, it does not modify source records, it does not confirm enrollment or operational readiness, and it specifies accepted x402 networks. This goes well beyond what annotations provide and sets clear expectations about side effects and limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear labels (Use when, Avoid when, Limitations, Price, etc.) and front-loads the core purpose. It is somewhat long due to payment details, but every section adds essential operational information for a paid tool. It is efficient for the information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one well-documented parameter, an output schema present, and a description covering purpose, usage boundaries, limitations, payment behavior, and network acceptance, nothing needed to invoke the tool correctly is missing. The description is self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the single parameter 'identifier' with its pattern and description (SIREN/SIRET). The tool description adds no new meaning to the parameter itself, only hints at what outputs derive from it. With 100% schema coverage, the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb 'Prepares' and a clear resource: 'public company identifiers and a category-based reference schedule' for French e-invoicing. It then explicitly differentiates from siblings (invoice-check, profile) via 'Use when' and 'Avoid when', making it unambiguous what this tool does and what it does not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' section specifies the exact conditions (need public identifiers, schedule, HQ SIRET, VAT, dates) and the 'Avoid when' section names two concrete alternatives (invoice-check for printed invoices, profile for current public data). This leaves no ambiguity about when to select this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_establishmentsFrench Company EstablishmentsAInspect

Returns cursor-paginated public establishments attached to a French company from the official Sirene source, including status, activity and address. Use when: You need the public establishments attached to a French SIREN or SIRET. Avoid when: You only need the company headquarters or administrative profile; use company/fr/profile. Limitations: Results reflect public establishments exposed by the official Sirene API; restricted non-diffusible data is not returned. A cursor is bound to its search context and should only be reused to continue the same query. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum establishments to return, up to 100
cursorNoOpaque Sirene cursor from next_cursor; omit it on the first call*
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesStructured value returned for “limit” as defined by this API contract.
sirenYesNormalized 9-digit French SIREN when available.
cursorYesStructured value returned for “cursor” as defined by this API contract.
existsYesWhether the requested company or public record was found in the checked source.
truncatedYesWhether additional matching records existed beyond the returned result limit.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
next_cursorYesStructured value returned for “next cursor” as defined by this API contract.
total_countYesTotal number of matching records reported by the source or endpoint.
establishmentsYesStructured value returned for “establishments” as defined by this API contract.
returned_countYesNumber of records included in this response.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry little signal (all hints false), so the description does the heavy lifting. It discloses the payment side effect (records not modified but x402 payment consumed, challenge is free, repeats may require new payment), cursor binding to search context, and that non-diffusible restricted data is excluded. This adds meaningful behavior beyond the annotations. No contradiction with annotations since the financial side effect justifies readOnlyHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but justified: it is a paid tool requiring pricing, network, and payment-behavior disclosures. It is well-sectioned (Use when / Avoid when / Limitations / Price / Paid-call behavior / Accepted networks) and front-loads the core function before the pricing details. Each section earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are covered by structured data. The description covers purpose, usage routing, limitations, pagination semantics, and the full payment model. For a paginated, paid, read-oriented tool this is near-complete; only worked examples or error-case handling are absent, which is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all three parameters (identifier, limit, cursor) documented in the schema. The description adds marginal value by reinforcing that the cursor is opaque and bound to its search context and should only be reused for the same query. Per baseline rules, with full schema coverage a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb (returns), resource (public establishments), data source (official Sirene), and content (status, activity, address). It clearly distinguishes itself from company_fr_profile by noting it returns establishments rather than headquarters/admin profile, allowing an agent to route correctly among the many company_fr_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Use when' (need public establishments for a SIREN/SIRET) and 'Avoid when' (only need headquarters/administrative profile) directives, naming the alternative tool company/fr/profile. This is model guidance for when to pick this tool over its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_eventsFrench Company EventsAInspect

Returns the latest normalized public BODACC events for a French company from a SIREN or SIRET. Use when: You need recent normalized BODACC events for a French company, such as filings, modifications, collective proceedings or deregistrations. You need an event timeline filtered from an optional publication date. Avoid when: You need an interpreted legal-risk level rather than raw normalized events; use company/fr/risk. You only need current administrative profile fields; use company/fr/profile. Limitations: The result reflects BODACC records available through the public dataset and the requested limit/date filter. Normalized events are factual source records and do not constitute legal advice or a risk score. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of normalized BODACC events to return
sinceNoMinimum included BODACC publication date in YYYY-MM-DD format
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
eventsYesNormalized public events returned by the endpoint.
existsYesWhether the requested company or public record was found in the checked source.
truncatedYesWhether additional matching records existed beyond the returned result limit.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
total_countYesTotal number of matching records reported by the source or endpoint.
latest_eventYesStructured value returned for “latest event” as defined by this API contract.
returned_countYesNumber of records included in this response.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even though annotations only signal non-read-only/non-idempotent behavior, the description explicitly states source records are not modified, that paid invocation consumes x402 payment, that the challenge is free, and that repeat calls may require new payment. It also discloses factual-source limitations and no legal-advice scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Structured with bolded Use when/Avoid when/Limitations/Price sections makes the long content scannable. The core return statement is front-loaded; while the paid-call details are lengthy, they are necessary for safe invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and annotations are uninformative, the description covers invocation intent, alternatives, limitations, cost, and side effects. No critical gap remains for an agent to decide to call and understand consequences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all three parameters with descriptions, defaults, patterns, and formats (100% coverage), so the description needs to add little. It reinforces the identifier can be SIREN or SIRET and that 'since' is a publication-date filter, but doesn't duplicate schema syntax.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Returns') and resource ('latest normalized public BODACC events') with input type ('French company from a SIREN or SIRET'), and gives concrete event examples. The Avoid when block distinguishes it from company/fr/risk and company/fr/profile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit Use when and Avoid when sections with named alternatives (company/fr/risk, company/fr/profile) and selection criteria. Limitations section adds boundary for when results are not appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_financialsFrench Company FinancialsAInspect

Returns available public financial data for a French company from a SIREN or SIRET, including revenue and net income when available. Use when: You need publicly available revenue or net-income figures for a French company. You need a normalized multi-year financial history with simple revenue-growth and net-margin calculations when data is available. Avoid when: You need real-time management accounts, bank data, a company valuation or a credit score. You only need administrative identity or status; use company/fr/profile or company/fr/verify. Limitations: Financial years are returned only when the public company source exposes filed financial data. Missing or confidential accounts can produce incomplete histories; this service is not a credit assessment or audit opinion. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
summaryYesCompact derived summary of the returned records.
financialsYesNormalized public financial-year records returned by the endpoint.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by disclosing paid-call behavior: that the x402 challenge is free, that a successful call can consume payment, and that repeating the call may require a new payment. It also reveals data limitations such as missing or confidential accounts and clarifies that this is not a credit assessment or audit opinion. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with front-loaded purpose followed by use/avoid sections, limitations, pricing, and payment behavior. Each section earns its place and provides essential operational detail without unnecessary prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid financial-data tool with a single parameter and output schema present, the description covers all operational context: data availability, exclusions, pricing, payment mechanics, accepted networks, and limitations. Nothing an agent needs to decide whether and how to call it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully documents the single parameter 'identifier' as '9-digit SIREN or 14-digit SIRET' with a validating pattern. The description only repeats this at a high level and adds no additional meaning beyond what the schema provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Returns available public financial data for a French company from a SIREN or SIRET, including revenue and net income when available.' It names the input type and the core output, distinguishing it from administrative tools like company/fr/profile and company/fr/verify.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, names concrete alternatives for cases involving administrative identity or status, and lists exclusions such as real-time management accounts, bank data, valuation, and credit scores. This leaves no ambiguity about when to call this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_historyFrench Company Sirene HistoryAInspect

Returns the historized Sirene periods of a French legal unit, including status, name, legal form, activity, headquarters NIC and explicit change flags. Use when: You need the official Sirene period history for a French legal unit. Avoid when: You need a BODACC event timeline; use company/fr/events. Limitations: History reflects Sirene historized variables and should not be interpreted as a complete legal or commercial event history. Price: 0.015 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET; a SIRET is normalized to its SIREN

Output Schema

ParametersJSON Schema
NameRequiredDescription
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
currentYesStructured value returned for “current” as defined by this API contract.
periodsYesStructured value returned for “periods” as defined by this API contract.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
periods_countYesStructured value returned for “periods count” as defined by this API contract.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the sparse annotations (readOnlyHint false, idempotent false), the description discloses that source records are not modified, details the x402 cost, states that a successful paid call consumes the advertised payment, notes that the payment-required challenge is free, and warns that repeated calls may require a new payment. It also mentions accepted networks and the limitation that history is not a complete legal or commercial event timeline. This is rich, valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (use/avoid, limitations, price, paid-call behavior, accepted networks) and each sentence contributes operational value. It is longer than a minimal description, but the payment and network details are warranted for correct invocation, so no material clutter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with a high-coverage schema and an output schema, the description is nearly complete. It provides selection guidance, pricing, payment behavior, network restrictions, and limitations. The only minor gap is a lack of explicit mention of the required 'identifier' parameter in the description text, but the input schema and title cover this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the schema already explains the identifier parameter as '9-digit SIREN or 14-digit SIRET' and that a SIRET is normalized to its SIREN. The tool description does not add any further parameter-level meaning beyond that already present, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Returns the historized Sirene periods of a French legal unit,' and enumerates the included fields (status, name, legal form, activity, headquarters NIC, change flags). It also differentiates from the sibling tool company/fr/events by explicitly naming it, making selection behavior unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage guidance: 'Use when you need the exact Sirene period history for a French legal unit' and 'Avoid when you need a BODACC event timeline; use company/fr/events.' This provides both a clear condition and a sibling alternative, leaving no ambiguity about when to choose this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_industrial_riskFrench Industrial Installation RiskAInspect

Finds public ICPE, Seveso and IED installation signals across the company establishments available from SIRENE, with explicit coverage indicators. Use when: Find public ICPE, Seveso and IED installation signals across the known establishments of a French company. Avoid when: You only need the company establishment list; use company/fr/establishments. Limitations: Coverage is explicit and can be partial for very large companies or when public sources are unavailable. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
installationsYesStructured value returned for “installations” as defined by this API contract.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, partial, unavailable, not_queried).
communes_totalYesStructured value returned for “communes total” as defined by this API contract.
communes_scannedYesStructured value returned for “communes scanned” as defined by this API contract.
coverage_completeYesWhether the checked public-source coverage was sufficient for the endpoint’s stated scope.
installation_countYesStructured value returned for “installation count” as defined by this API contract.
establishments_totalYesStructured value returned for “establishments total” as defined by this API contract.
establishments_scannedYesStructured value returned for “establishments scanned” as defined by this API contract.
headquarters_commune_codeYesStructured value returned for “headquarters commune code” as defined by this API contract.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations offer no positive safety hints (all false), so the description carries the burden of behavioral disclosure. It adds valuable context: source records are not modified, paid calls consume payment, the payment-required challenge is free, and repeat calls may require new payment. This goes well beyond the bare annotation fields without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-organized with labeled sections (use, avoid, limitations, price, paid behavior). The 'Use when' sentence largely restates the opening sentence, creating minor redundancy, but the structure is front-loaded and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter paid tool with an output schema, the description covers purpose, alternatives, limitations, pricing, payment semantics, and accepted networks. Nothing essential is missing for an agent to decide whether and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the identifier parameter is already fully defined with format and pattern. The description adds no new parameter-level meaning, but none is needed given the complete schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Finds') and a precise resource: public ICPE, Seveso, and IED installation signals across SIRENE establishments. The scope is clearly distinguished from the simpler establishment-list sibling, and the title reinforces the domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Use when' and 'Avoid when' guidance, directly naming company/fr/establishments as the alternative. Limitations about partial coverage for large companies or unavailable public sources further help an agent decide when the tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_intelligenceFrench Company IntelligenceAInspect

Aggregates selected existing French company intelligence services into a single call, with selectable sections and tolerance for temporarily unavailable sources. Use when: You need several existing French Company intelligence sections in one agent-ready call. You want to select a combination of profile, directors, financials, events, risk, certifications, public contracts, compliance, aids, signals or opportunities. You need the former public-data KYB bundle by requesting profile, directors, financials, risk and compliance together. Avoid when: You need only one narrow datum and want the smallest, most specific response; call the dedicated endpoint directly. You require every requested section to be available; this aggregator is designed to tolerate temporarily unavailable sources and report partial coverage. Limitations: This is an aggregator of existing HelpMyAgent Company services and does not create an independent data source or additional factual coverage. Requested sections can be reported unavailable when an underlying public source or service is temporarily unavailable. Price: 0.050 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoOptional domain used by the compliance section; it is not treated as an officially verified company domain.
includeNoOptional list of existing Company sections to aggregate in the response
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
sectionsYesNamed result sections produced by this aggregator.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).
sections_availableYesStructured value returned for “sections available” as defined by this API contract.
sections_requestedYesStructured value returned for “sections requested” as defined by this API contract.
sections_unavailableYesStructured value returned for “sections unavailable” as defined by this API contract.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations only say readOnlyHint=false, openWorldHint=false, idempotentHint=false, destructiveHint=false, which is sparse. The description adds valuable behavioral context: it is an aggregator with no independent data source, it tolerates partial unavailability, and it consumes x402 payment. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the defining aggregator statement, then uses clear headings for usage, limitations, and pricing. It is longer than strictly necessary due to detailed x402 payment behavior, but each section earns its place. The structure makes it easy for an agent to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a composite tool with many optional sections, the description covers purpose, when to use, when not to use, alternatives, limitation, pricing, partial coverage behavior, and payment implications. With the output schema present and the parameter schema fully covering inputs, nothing critical is missing for an agent to correctly invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, covering all three parameters including the include enum and identifier pattern, so the description does not need to explain them. However it adds almost no semantic nuance: the list of sections in the description simply repeats the include enum, and it does not clarify the trade-offs between include selections or the optional domain behavior beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Aggregates'), a clear resource ('existing French company intelligence services'), and its key property ('into a single call, with selectable sections'). It differentiates itself from the many sibling tools by positioning it as an aggregator versus dedicated endpoints and explicitly naming the legacy KYB bundle use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, naming the alternative approach ('call the dedicated endpoint directly') and the condition that makes the aggregator unsuitable ('You require every requested section to be available'). This gives an agent clear decision rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_invoice_checkFrench Invoice ValidationAInspect

Validates a French company identifier, optional EU VAT number and optional structured invoice fields including supplier name, date and amount arithmetic. Use when: Validate identifiers and basic structural consistency of a French supplier invoice. Avoid when: You only need the e-invoicing obligation schedule; use company/fr/e-invoice. You need to validate only an EU VAT number; use vat/eu/validate. Limitations: The endpoint checks supplied structured fields; it does not authenticate a document or prove that goods, services or payment are real. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceNoOptional value for “invoice” as defined by this API contract.
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.
vat_numberNoOptional or required VAT identifier used by this validation or consistency check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
verdictYesNormalized endpoint conclusion derived from the checked public data.
vies_nameYesStructured value returned for “vies name” as defined by this API contract.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
vies_validYesStructured value returned for “vies valid” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
vies_statusYesStructured value returned for “vies status” as defined by this API contract.
format_matchYesStructured value returned for “format match” as defined by this API contract.
invoice_validationYesStructured value returned for “invoice validation” as defined by this API contract.
expected_vat_numberYesStructured value returned for “expected vat number” as defined by this API contract.
supplied_vat_numberYesStructured value returned for “supplied vat number” as defined by this API contract.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite having annotations, the description adds critical behavioral context beyond the false hints: it discloses the tool is a paid call (x402), explains payment consumption and repetition behavior, and clearly states limitations (does not authenticate or prove reality). This fully informs the agent of side effects and non-idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted networks) and front-loads the core purpose. Every sentence adds value, and the organization makes it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (paid call, network constraints, optional fields, output schema exists), the description covers all necessary context: usage boundaries, limitations, payment mechanics, and supported networks. Nothing critical is missing for an agent to decide and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all parameters with 100% description coverage, so the description doesn't need to add parameter-level detail. It does mention 'amount arithmetic' which hints at the validation logic, but this is not a significant enhancement over the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the tool validates a French company identifier, optional EU VAT number, and structured invoice fields via arithmetic checks. It distinguishes itself from siblings by naming explicit alternatives in the 'Avoid when' section, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, naming the exact sibling tools (company/fr/e-invoice and vat/eu/validate) for other use cases. This leaves no ambiguity about when to select this tool over its relatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_kyb_batchFrench Company KYB BatchAInspect

Runs the existing public-data KYB dossier for 2 to 10 French company identifiers. Use when: Screen a batch of French suppliers with the public-data KYB dossier. You need the existing public-data KYB dossier for several French company identifiers in one call. You are screening a small supplier batch and need per-company success/failure results. Avoid when: You have only one company; use company/fr/intelligence with the KYB sections profile, directors, financials, risk and compliance. You specifically need VAT or IBAN consistency checks during supplier onboarding; use company/fr/supplier-verification. Limitations: Each item inherits the source coverage of the corresponding company/fr/intelligence sections. One company can fail or be partial without implying the same status for the other batch items. Price: 0.100 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifiersYesList of French company identifiers to process; each item must be a 9-digit SIREN or 14-digit SIRET. (at least 2 items; at most 10 items).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYesStructured result records returned by the endpoint.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
failed_countYesStructured value returned for “failed count” as defined by this API contract.
completed_countYesStructured value returned for “completed count” as defined by this API contract.
requested_countYesStructured value returned for “requested count” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only carry readOnlyHint=false, openWorldHint=false, idempotentHint=false, destructiveHint=false. Description adds critical non-obvious behavior: source records are not modified, paid calls consume x402 payment, payment-required challenge is free, repeat calls may require new payment, and batch items are independent. These go beyond structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is clearly structured with labeled sections (Use when, Avoid when, Limitations, Price) and front-loaded purpose. Slight redundancy in 'Use when' — three overlapping statements about needing multiple identifiers and batch screening — could be condensed, but overall every section earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having only one parameter and an output schema, the description covers purpose, usage triggers, exclusions, limitations, per-item behavior, pricing, paid-call semantics, and accepted x402 networks. This is complete for an agent to decide and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and fully documents the 'identifiers' parameter (SIREN/SIRET formats, min/max, uniqueness). The tool description adds no new parameter semantics beyond restating 'French company identifiers', so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb ('Runs'), a resource ('public-data KYB dossier'), and a scope ('2 to 10 French company identifiers'). The Avoid-when clause explicitly names sibling tools and the condition that selects them (single company -> company/fr/intelligence; VAT/IBAN checks -> supplier-verification), making differentiation clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides explicit 'Use when' with specific scenarios (small supplier batch, need per-company results) and 'Avoid when' with alternatives and conditions (single company, VAT/IBAN checks). This directly answers when to use the tool versus siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_lobbyingFrench Lobbying Public ProfileAInspect

Checks the HATVP public lobbying register by French company identifier and extracts declared topics. Use when: Find the public lobbying profile declared for a French organization. You need the public HATVP lobbying-register profile associated with a French organization. You want declared lobbying topics, domains or clients when exposed by that public source. Avoid when: You need ordinary company identity, directors or ownership information; use company/fr/profile or company/fr/directors. You need lobbying information not covered by the French HATVP public register. Limitations: Coverage is limited to declarations exposed by the HATVP public lobbying dataset. A missing record does not prove that an organization has never undertaken any influence-related activity. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
clientsYesStructured value returned for “clients” as defined by this API contract.
domainsYesStructured value returned for “domains” as defined by this API contract.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
registeredYesStructured value returned for “registered” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
declared_nameYesStructured value returned for “declared name” as defined by this API contract.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried).
activity_topicsYesStructured value returned for “activity topics” as defined by this API contract.
source_json_urlYesStructured value returned for “source json url” as defined by this API contract.
registration_dateYesStructured value returned for “registration date” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false, but the description provides substantial behavioral context: source records are not modified, successful calls may consume x402 payment, the payment challenge is free, and repeated calls may require new payment. It also discloses coverage limitations and the fact that a missing record does not prove absence of influence activity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with clear sections for use, avoidance, limitations, price, and network support. It is somewhat longer than strictly necessary and contains minor redundancy between the opening sentence and the Use when section, but every section contributes practical guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the paid-call behavior, network restrictions, and the tool's purpose, the description is complete. It covers what the tool checks, when to use it, when to avoid it, pricing, payment behavior, and data limitations. The output schema covers return details, so the description does not need to.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully documents the single required parameter, including the 9-digit SIREN or 14-digit SIRET pattern. The description adds no additional parameter-level meaning beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: "Checks the HATVP public lobbying register by French company identifier and extracts declared topics." It clearly distinguishes this tool from sibling tools by naming alternatives for ordinary identity and directors information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit "Use when" and "Avoid when" guidance, naming concrete alternative tools such as company/fr/profile and company/fr/directors. It also states when not to use the tool, covering the key selection decision an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_nearbyNearby French companiesAInspect

Searches French companies around geographic coordinates using the official public company search geolocation endpoint. Use when: Searches French companies around geographic coordinates using the official public company search geolocation endpoint. You have geographic coordinates and need French companies within a radius. You want optional NAF activity filtering around a physical location. Avoid when: You want structured B2B prospecting by region, size, legal form or certifications without coordinates; use company/fr/prospecting. You are searching for a known company by name or identifier; use company/fr/search. Limitations: Results depend on geocoded establishment data exposed by the public company-search source. A geographic match indicates proximity, not a commercial relationship or service area. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records returned by this call. (minimum 1; maximum 25; default 10).
latitudeYesLatitude in decimal degrees for the centre of the geographic search. (minimum -90; maximum 90).
longitudeYesLongitude in decimal degrees for the centre of the geographic search. (minimum -180; maximum 180).
radius_kmNoSearch radius around the supplied coordinates, expressed in kilometres. (greater than 0; maximum 50; default 5).
activity_codeNoOptional French NAF activity code used to restrict nearby-company results.
activity_sectionNoOptional NAF activity section letter used to restrict nearby-company results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
latitudeYesStructured value returned for “latitude” as defined by this API contract.
companiesYesStructured company records returned by the endpoint.
longitudeYesStructured value returned for “longitude” as defined by this API contract.
radius_kmYesStructured value returned for “radius km” as defined by this API contract.
truncatedYesWhether additional matching records existed beyond the returned result limit.
total_countYesTotal number of matching records reported by the source or endpoint.
activity_codeYesStructured value returned for “activity code” as defined by this API contract.
returned_countYesNumber of records included in this response.
activity_sectionYesStructured value returned for “activity section” as defined by this API contract.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false and provide no safety profile, so the description carries the burden. It discloses that source records are not modified, that a paid invocation consumes x402 payment, that the payment challenge is free, that repeats may require new payment, and accepted networks. Minor gaps remain (e.g., no explicit mention of rate limits or error behavior) but the core side effects and data caveats are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-organized with labeled sections and no irrelevant content, but the first sentence is repeated verbatim as the opening of the Use when section, wasting a sentence. Otherwise concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with six parameters and an output schema, the description covers selection criteria, exclusions, limitations, pricing, payment side effects, and accepted networks. Nothing an agent needs to invoke it correctly is missing; return-value details are already provided by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters. The description adds only general context (radius, NAF filtering) without new semantic details, which matches the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb+resource: 'Searches French companies around geographic coordinates using the official public company search geolocation endpoint.' It clearly distinguishes from nearby siblings by naming company/fr/prospecting for coordinate-free B2B prospecting and company/fr/search for known-company lookups, so an agent can select correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit Use when/Avoid when sections state concrete trigger conditions (having coordinates, wanting radius or NAF filtering) and name the alternatives (company/fr/prospecting, company/fr/search). Limitations also clarify when results should not be over-interpreted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_newNew French CompaniesAInspect

Lists French legal units created in a requested date window using the official historized Sirene source. Use when: You need French legal units created during a recent or historical date window. Avoid when: You need BODACC publication events rather than Sirene creation dates; use company/fr/events or legal-announcements-search. Limitations: Creation date is the Sirene legal-unit creation date and is not the same as a BODACC publication date. The requested window is limited to 366 days per call. A cursor is bound to its date-window query and should only be reused to continue that same query. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return, up to 100
sinceNoInclusive start date; defaults to a 7-day window
untilNoInclusive end date; defaults to today
cursorNoOpaque Sirene cursor from next_cursor; omit it on the first call*

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesStructured value returned for “limit” as defined by this API contract.
sinceYesStructured value returned for “since” as defined by this API contract.
untilYesStructured value returned for “until” as defined by this API contract.
cursorYesStructured value returned for “cursor” as defined by this API contract.
companiesYesStructured company records returned by the endpoint.
truncatedYesWhether additional matching records existed beyond the returned result limit.
next_cursorYesStructured value returned for “next cursor” as defined by this API contract.
total_countYesTotal number of matching records reported by the source or endpoint.
returned_countYesNumber of records included in this response.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false (not read-only, not idempotent, not destructive), so the description carries full burden. It discloses that source records are not modified, that a successful call consumes x402 payment, that the payment-required challenge is free, and that repeating may require a new payment. It also details the 366-day window limit and cursor binding rules. This is excellent transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, use when, avoid when, limitations, price, paid-call behavior, accepted networks). It is front-loaded with the primary statement and every sentence adds value — no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (paid call, constraints, alternatives, payment behavior), the description covers all essential aspects an agent needs to decide and invoke correctly: purpose, usage, limitations, pricing, payment semantics, and accepted networks. An output schema exists, but the description still fully contextualizes the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description adds meaningful nuance about the cursor being bound to the date-window query and the distinction between Sirene creation date and BODACC publication date, which clarifies parameter intent. This goes beyond the schema, although the core parameter meanings are already clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Lists'), resource ('French legal units'), and context (created in a date window from the official Sirene source). It distinguishes itself from siblings by explicitly naming alternatives (company/fr/events, legal-announcements-search) for BODACC publication events, making it clear what it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Includes explicit 'Use when' and 'Avoid when' sections that define in which situations this tool is appropriate and point to the correct alternatives. This leaves no ambiguity about when to invoke it versus the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_opportunitiesFrench Company OpportunitiesAInspect

Ranks actionable French public funding and open procurement opportunities for a company using its profile, project context and historical public contracts. Use when: You need company-specific actionable opportunities combining public aid matching and currently open public tenders. You want opportunities ranked from the company profile, optional project context and historical public-contract evidence. Avoid when: You need a broad open-tender search without company context; use procurement/fr/search. You need a guarantee of aid eligibility, tender suitability or commercial success. Limitations: PUBLIC_AID opportunities are produced only when a project is provided and matches the public taxonomy; they remain indicative, not official eligibility decisions. PUBLIC_TENDER matching is intentionally conservative and relies on common CPV codes plus shared business vocabulary with historical awarded contracts; source coverage can be partial. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of ranked opportunities to return
projectNoOptional project context used for public-aid and opportunity matching
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
projectYesStructured value returned for “project” as defined by this API contract.
coverageYesCoverage information describing which underlying services or sources were available.
truncatedYesWhether additional matching records existed beyond the returned result limit.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
opportunitiesYesRanked public-data opportunities returned by the endpoint.
company_statusYesCurrent public administrative company status when available.
returned_countYesNumber of records included in this response.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).
total_candidatesYesStructured value returned for “total candidates” as defined by this API contract.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations providing no behavioral signals, the description carries the full burden and handles it well: it discloses paid-call behavior, that source records are not modified, that the payment-required challenge is free, that repeating after a completed paid invocation may require new payment, and that matching is conservative and partially covered. This is rich, non-obvious behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and uses clear labeled sections for use, avoid, limitations, price, and paid-call behavior. It is longer than average, but every section adds operational detail an agent needs for a paid tool, so the length is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, output schema presence, and minimal annotations, the description covers what the tool does, when to use it, when not to use it, its limitations, pricing, payment side effects, and accepted networks. An agent has enough to decide and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by tying the optional project parameter to public-aid generation and taxonomy matching, and by explaining that tender matching relies on CPV codes and historical contract vocabulary. This gives operational meaning to the parameters that the schema alone does not fully convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific action and resource: 'Ranks actionable French public funding and open procurement opportunities for a company using its profile, project context and historical public contracts.' It also distinguishes itself from the broader procurement/fr/search tool by naming that alternative, so an agent can tell it apart from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' and 'Avoid when' sections give explicit conditions and name the alternative for broad open-tender search: 'use procurement/fr/search.' It also tells the agent when not to rely on it for guarantees of eligibility or success, which is valuable decision guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_payment_contextPayment context for a French companyAInspect

Returns structured public counterparty context before an automated B2B payment. It never approves or recommends a payment. Use when: Returns structured public counterparty context before an automated B2B payment. It never approves or recommends a payment. You need compact public counterparty context immediately before an automated B2B payment. You want company status, legal-risk and compliance signals together without a full KYB dossier. Avoid when: You only need existence or administrative status; use company/fr/verify. You need a broader multi-section company dossier; use company/fr/intelligence. Limitations: This endpoint supplies decision context but never approves, blocks or recommends a payment. It does not verify bank-account ownership, invoice authenticity or private payment behavior. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoOptional domain supplied as additional counterparty context; it is checked separately and is not treated as proof of company ownership.
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
coverageYesCoverage information describing which underlying services or sources were available.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
legal_riskYesStructured value returned for “legal risk” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
company_statusYesCurrent public administrative company status when available.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable.
radiation_eventsYesStructured value returned for “radiation events” as defined by this API contract.
compliance_statusYesStructured value returned for “compliance status” as defined by this API contract.
public_alerts_foundYesStructured value returned for “public alerts found” as defined by this API contract.
latest_relevant_eventYesStructured value returned for “latest relevant event” as defined by this API contract.
collective_procedure_eventsYesStructured value returned for “collective procedure events” as defined by this API contract.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations are minimal (all false hints), so the description carries the transparency burden. It clearly discloses payment side effects, that source records are not modified, that no payment is approved/blocked/recommended, and that bank-account ownership, invoice authenticity, and private payment behavior are not verified. This is rich behavioral context beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-sectioned and front-loads the core purpose, but it repeats the sentence 'Returns structured public counterparty context before an automated B2B payment. It never approves or recommends a payment.' verbatim in the Use when section. This duplication means not every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and both parameters fully documented, the description supplies the remaining operational context an agent needs: price, accepted x402 networks, paid-call behavior, limitations, and explicit sibling routing. Nothing essential for correct selection or invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, and both parameters already have meaningful descriptions (SIREN/SIRET pattern and the optional domain's non-ownership semantics). The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Returns structured public counterparty context before an automated B2B payment.' It further clarifies what the tool does not do ('never approves or recommends a payment') and distinguishes itself from siblings by naming verify and intelligence as alternatives for other needs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' and 'Avoid when' sections give precise selection criteria: compact counterparty context before an automated payment, or status/risk/compliance signals without a full KYB dossier. It also names alternatives (company/fr/verify, company/fr/intelligence) for excluded cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_peersComparable French companiesAInspect

Finds administratively comparable French companies for later comparison or benchmarking. Use when: Finds administratively comparable French companies for later comparison or benchmarking. You need administratively comparable French companies selected from activity, size and geographic criteria. You want a peer set that can feed a later benchmark or manual comparison. Avoid when: You need procurement-specific competitors observed in public-contract awards; use company/fr/public-contract-competitors. You want metrics and relative positioning rather than just a peer set; use company/fr/benchmark. Limitations: Peer relationships are inferred from public administrative attributes and do not prove economic comparability. The returned peer set depends on source coverage and the selected geographic scope. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records returned by this call. (minimum 1; maximum 25; default 10).
scopeNoGeographic comparison scope controlling whether candidates are selected by department, region or all of France. (default region; allowed values: department, region, france).region
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
peersYesStructured value returned for “peers” as defined by this API contract.
scopeYesStructured value returned for “scope” as defined by this API contract.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
criteriaYesStructured value returned for “criteria” as defined by this API contract.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

All annotations are false or unhelpful, so the description bears the full burden. It explains that source records are not modified, that successful paid invocations consume an x402 payment, that the challenge is free, that repeating the call may require new payment, and that peer relationships are inferred and coverage-dependent. This is consistent with the annotations and adds meaningful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is well-structured with Use/Avoid/Limitations/Price/Paid-call sections and front-loaded purpose. However, the opening sentence is duplicated verbatim in the 'Use when' section, wasting a sentence and slightly hurting conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema, a simple required identifier parameter, and low-value annotations, the description covers conceptual behavior, alternatives, limitations, pricing, and paid-call semantics. An agent has everything needed to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers 100% of parameters with descriptions, defaults, enums, and patterns. The description adds only high-level context about geographic criteria and peer-set selection, which reinforces but does not extend the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States an action ('Finds administratively comparable French companies') with a specific resource and selection criteria (activity, size, geographic scope). It also distinguishes itself from the closest siblings by clarifying it returns a peer set rather than procurement competitors or benchmark metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains explicit 'Use when' and 'Avoid when' guidance naming alternatives (company/fr/public-contract-competitors, company/fr/benchmark) and the conditions that route to them. This removes ambiguity about when to invoke this tool over nearly identical siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_profileFrench Company ProfileAInspect

Returns the public profile of a French company from a SIREN or SIRET. Use when: You need a normalized public administrative profile for a French company from its SIREN or SIRET. You need headquarters, activity, legal-form, creation-date, employee-band or establishment-count fields in one response. Avoid when: You only need a yes/no existence or active-status check; use company/fr/verify. You need directors, financial statements, legal risk or compliance results; use the dedicated endpoint. Limitations: Some profile fields can be null when the public source does not expose them for the company. This endpoint does not replace the specialized directors, financials, risk or compliance endpoints. Price: 0.005 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
statusYesNormalized endpoint or source status.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
is_employerYesStructured value returned for “is employer” as defined by this API contract.
closure_dateYesStructured value returned for “closure date” as defined by this API contract.
headquartersYesStructured value returned for “headquarters” as defined by this API contract.
activity_codeYesStructured value returned for “activity code” as defined by this API contract.
creation_dateYesStructured value returned for “creation date” as defined by this API contract.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).
legal_form_codeYesStructured value returned for “legal form code” as defined by this API contract.
company_categoryYesStructured value returned for “company category” as defined by this API contract.
employee_band_codeYesStructured value returned for “employee band code” as defined by this API contract.
employee_band_yearYesStructured value returned for “employee band year” as defined by this API contract.
establishments_countYesStructured value returned for “establishments count” as defined by this API contract.
open_establishments_countYesStructured value returned for “open establishments count” as defined by this API contract.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description openly discloses limitations (nullable fields), paid-call behavior (payment consumed, free challenge, new payment on repeat), and the fact that source records are not modified. With all annotations set to false or unhelpful, this description carries the full behavioral burden and does so thoroughly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured with clear sections: core behavior, use/avoid guidance, limitations, pricing, and side-effect behavior. Each section earns its place, and the most important information is front-loaded. Despite covering many aspects, it remains scannable and purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema and a crowded sibling set, the description is complete: it states what the tool returns, when to use it, when not to use it, what its limitations are, and what side effects to expect. Nothing essential for correct selection or invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description gains little extra credit for parameters. The identifier parameter is fully documented in the schema with its pattern, and the description simply reiterates that a SIREN or SIRET is accepted. This meets the baseline but adds no new semantic detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb and resource: 'Returns the public profile of a French company from a SIREN or SIRET.' It also distinguishes itself from sibling tools by naming the verify endpoint for existence checks and the dedicated endpoints for directors, financials, and risk. This makes the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' and 'Avoid when' sections provide explicit decision criteria and name specific alternatives, such as company/fr/verify and the specialized directors/financials/risk endpoints. This is exactly the kind of routing guidance an agent needs to select correctly among many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_prospectingFrench B2B company prospectingAInspect

Searches active French companies using structured public B2B filters such as activity, geography, size and supported certifications. Use when: Searches active French companies using structured public B2B filters such as activity, geography, size and supported certifications. You need a list of active French companies matching structured B2B criteria such as activity, geography, size or supported certifications. You want prospect candidates before running deeper company checks. Avoid when: You are looking for one known company by name, SIREN or SIRET; use company/fr/search. You need a radius search around coordinates; use company/fr/nearby. Limitations: Prospecting coverage follows the public company and certification sources used by the selected filters. A filter match is a discovery signal, not proof of commercial suitability or current willingness to buy. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
bioNoWhen true, restrict results to companies found in the supported public organic/Bio certification source.
rgeNoWhen true, restrict results to companies with a supported public RGE qualification.
pageNoOne-based result page number. (minimum 1; default 1).
limitNoMaximum number of records returned by this call. (minimum 1; maximum 25; default 25).
queryNoOptional company-name or free-text term combined with the structured prospecting filters.
regionNoOptional French region code used to restrict results geographically.
qualiopiNoWhen true, restrict results to companies found in the supported public Qualiopi source.
departmentNoOptional French department code used to restrict results geographically.
postal_codeNoOptional French postal code used to narrow results geographically.
activity_codeNoOptional French NAF activity code used to restrict or classify company results.
legal_form_codeNoOptional French legal-form code used to restrict company results.
activity_sectionNoOptional NAF activity section used to restrict company results.
company_categoryNoOptional French company-size category used to restrict prospecting results.
employee_band_codeNoOptional official employee-band code used to restrict company results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesStructured value returned for “page” as defined by this API contract.
limitYesStructured value returned for “limit” as defined by this API contract.
filtersYesStructured value returned for “filters” as defined by this API contract.
companiesYesStructured company records returned by the endpoint.
truncatedYesWhether additional matching records existed beyond the returned result limit.
total_countYesTotal number of matching records reported by the source or endpoint.
returned_countYesNumber of records included in this response.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate not read-only, not idempotent, and not destructive; the description adds critical behavioral context: source records are not modified, paid invocations can consume x402 payment, the payment challenge is free, and repeating a paid call may require a new payment. It also notes coverage limitations and that matches are discovery signals, which is valuable beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and contains useful sections, but the first sentence is repeated almost verbatim in the 'Use when' section. This redundancy costs conciseness even though the overall structure is clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter optional-filter tool with an output schema, the description covers use cases, avoid cases, alternatives, limitations, pricing, payment behavior, and accepted networks. Nothing critical appears missing for an agent to decide whether and how to invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers 100% of parameters with individual descriptions, so the description does not need to repeat them. It adds general filter categories (activity, geography, size, certifications) but no parameter-specific semantics beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Searches active French companies using structured public B2B filters such as activity, geography, size and supported certifications.' It also names alternatives for related lookups (search, nearby), so an agent can distinguish it from siblings without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Use when' and 'Avoid when' sections with concrete sibling alternatives: company/fr/search for single known companies and company/fr/nearby for radius searches. This gives clear routing guidance beyond the unstructured schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_public_contract_competitorsPublic-contract competitorsAInspect

Finds companies winning public contracts on CPV segments shared with the target company using DECP public award data. Use when: Finds companies winning public contracts on CPV segments shared with the target company using DECP public award data. You need companies that win public contracts on CPV segments also observed for the target company. You want procurement-specific competitive signals from DECP award data. Avoid when: You want general comparable companies based on activity, size and geography; use company/fr/peers. You only need the target company’s own awarded public contracts; use company/fr/public-contracts. Limitations: Competition is inferred from shared public-contract CPV segments and is not an official competitive relationship. The result only reflects awards covered by the DECP public dataset. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records returned by this call. (minimum 1; maximum 25; default 10).
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
competitorsYesStructured value returned for “competitors” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
cpv_segmentsYesStructured value returned for “cpv segments” as defined by this API contract.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all 'false', so the description carries the burden. It clearly discloses the paid-call mechanism (x402 payment consumption, free challenge, repeat-payment requirement), states that source records are not modified, and adds limitations about inferred competition and DECP coverage. This adds substantial context beyond the minimal annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured into clear sections (purpose, use/avoid, limitations, payment details) with the core purpose front-loaded. Every sentence adds essential information, especially the payment behavior and accepted networks which are critical for an agent to avoid unexpected costs. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool has a paid call, specific data source, and limitations - the description covers all of these. It explains what it does, when to use/avoid, pricing, payment behavior, and network requirements. An output schema exists, so return values need no description. The description is fully self-sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning beyond the schema - it implies the identifier refers to the 'target company' but doesn't go into further parameter behavior or formatting. This is adequate but not exceptional given how thoroughly the schema describes both parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Finds'), resource ('companies winning public contracts'), and the distinguishing scope ('CPV segments shared with the target company using DECP public award data'). It clearly differentiates from siblings like company_fr_peers and company_fr_public_contracts by naming the exact use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' and 'Avoid when' sections list concrete conditions and name two alternative tools (company/fr/peers for general peers, company/fr/public-contracts for own contracts). This is textbook routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_public_contractsFrench Company Public ContractsAInspect

Returns public contracts awarded to a French company from consolidated French public procurement award data. Use when: You need public contracts already awarded to a French company. You need historical procurement awards, buyers, amounts, CPV codes or execution-location data linked to a company identifier. Avoid when: You need currently open tenders that a company could bid on; use procurement/fr/search or company/fr/opportunities. You need private-sector contracts or non-public commercial relationships. Limitations: Coverage depends on the consolidated DECP public award dataset and the holder identifiers available in it. Returned totals and summaries describe the matched public records, not all commercial revenue of the company. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of awarded public contracts to return
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
summaryYesCompact derived summary of the returned records.
contractsYesNormalized public-contract records returned by the endpoint.
truncatedYesWhether additional matching records existed beyond the returned result limit.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
total_countYesTotal number of matching records reported by the source or endpoint.
returned_countYesNumber of records included in this response.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the sparse annotations by disclosing that source records are not modified, that paid calls consume x402 payment, that the payment-required challenge is free, and that repeating a completed paid invocation may require a new payment. It also explains data-coverage limitations. This gives the agent crucial behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then organized into clear labeled sections: Use when, Avoid when, Limitations, Price, Paid-call behavior, and Accepted networks. Every section adds relevant operational or selection information, and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, selection criteria, exclusions, alternative tools, data limitations, pricing, payment semantics, and accepted networks. An output schema exists, so detailed return-value documentation is unnecessary. Nothing essential for correct tool selection or invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents the identifier and limit parameters well. The description reinforces that results are linked to a company identifier and mentions returned data types such as buyers, amounts, and CPV codes, but it does not add meaning beyond what the schema already provides. A baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Returns public contracts awarded to a French company from consolidated French public procurement award data.' It clearly distinguishes this tool from siblings by focusing on already-awarded contracts rather than open tenders or EU-wide contracts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit and well-structured. It provides 'Use when' conditions, an 'Avoid when' section, and names concrete alternative tools: procurement/fr/search and company/fr/opportunities. It also states when the tool is not appropriate, such as for private-sector contracts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_public_contracts_euFrench Company EU Public ContractsAInspect

Searches TED notices for EU public-contract awards associated with a French company name or SIREN. Use when: Find EU public-contract notices won by a French company. You need TED public-contract award notices associated with a French company at EU procurement level. You want publication numbers, buyers, winners, CPV codes and decision dates from the supported TED search. Avoid when: You need French DECP awarded contracts for the company; use company/fr/public-contracts. You need currently open French BOAMP opportunities; use procurement/fr/search. Limitations: TED matching can rely on company name and available identifiers, so notices can be missed or require manual disambiguation. The result reflects notices returned by the TED public source and is not a complete statement of all EU business won by the company. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records returned by this call. (minimum 1; maximum 50; default 20).
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
noticesYesStructured value returned for “notices” as defined by this API contract.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
search_queryYesStructured value returned for “search query” as defined by this API contract.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried).
returned_countYesNumber of records included in this response.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are sparse (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the description carries the burden. It discloses paid-call behavior, that source records are not modified, that a successful invocation can consume payment, that the payment-required challenge is free, and that repeating after a paid call may require new payment. It also notes the result is not a complete statement of all EU business won. This is substantial behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear 'Use when', 'Avoid when', 'Limitations', 'Price', and 'Paid-call behavior' sections. It is longer than average but every section earns its place, especially the paid-call behavior which is critical for an agent to know. Slightly verbose but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, limitations, pricing, and paid-call behavior. It has an output schema, so return values are documented elsewhere. The only minor gap is the mismatch between 'company name' in the description and the numeric-only identifier pattern in the schema, which could confuse an agent. Overall, it is complete for a paid API tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (identifier and limit). The description adds that the identifier can be a French company name or SIREN, but the schema only allows a 9-digit SIREN or 14-digit SIRET pattern. This is a slight mismatch: the description mentions 'company name' as an input, but the schema's identifier pattern only accepts numeric SIREN/SIRET. The description does not add much beyond the schema's parameter docs, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Searches TED notices'), a specific resource ('EU public-contract awards associated with a French company name or SIREN'), and lists concrete outputs (publication numbers, buyers, winners, CPV codes, decision dates). It clearly distinguishes from siblings like company_fr_public_contracts and procurement_fr_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when' and 'Avoid when', naming the exact alternatives (company/fr/public-contracts for French DECP contracts, procurement/fr/search for open BOAMP opportunities). It also states limitations about TED matching and manual disambiguation, giving the agent clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_regulatory_approvalsFrench Financial Regulatory ApprovalsAInspect

Checks a French company against the public REGAFI register and normalizes matching regulatory records. Use when: Check whether a French company appears in the public REGAFI register. You need to know whether a French company appears in the public REGAFI register and inspect normalized matching records. You specifically need financial-regulatory registration signals rather than general company compliance. Avoid when: You want public alerts plus a REGAFI registration summary; use company/fr/compliance. You need general sanctions or asset-freeze screening; use company/fr/compliance. Limitations: Coverage is limited to the public REGAFI source used by the endpoint. No REGAFI match is not a universal statement that an entity is unregulated in every jurisdiction or activity. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
approvalsYesStructured value returned for “approvals” as defined by this API contract.
regulatedYesStructured value returned for “regulated” as defined by this API contract.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried).
approval_countYesStructured value returned for “approval count” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description substantially expands beyond the sparse annotations. It discloses that source records are not modified, that a successful paid invocation can consume x402 payment, that the payment challenge is free, and that repeating the tool may require a new payment. It also explains REGAFI coverage limitations, which is important for interpreting a no-match result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into clear labeled sections and front-loads the core purpose. There is some redundancy between the opening sentence and the 'Use when' section, but the additional details on limitations, pricing, and payment behavior all earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema, the description is complete. It covers when to use, when not to use, limitations, payment side effects, and accepted networks. The output schema handles return-value documentation, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: the sole parameter 'identifier' is fully defined with a regex pattern and an explanation of SIREN/SIRET. The description adds little beyond 'French company,' but because the schema carries the full parameter burden, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Checks a French company against the public REGAFI register and normalizes matching regulatory records.' It clearly distinguishes this tool from company/fr/compliance by framing it as financial-regulatory registration signals rather than general compliance, so an agent can differentiate it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' and 'Avoid when' sections give explicit decision criteria. It states to use this tool when checking REGAFI registration and explicitly routes alternatives to company/fr/compliance for public alerts plus REGAFI summary or sanctions/asset-freeze screening. This is unambiguous routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_reportFrench Company PDF ReportAInspect

Generates a simple PDF rendition of selected HelpMyAgent public company intelligence. Use when: Generate a portable PDF summary for a French company. You need a portable PDF summary of selected HelpMyAgent public company intelligence. You need a human-readable artifact in French or English rather than only structured JSON. Avoid when: You need structured data for downstream automation; use company/fr/intelligence or a dedicated endpoint. You only need a written risk interpretation; use company/fr/risk-reading. Limitations: The PDF reflects the public-data sections available when it is generated and does not add independent factual coverage. It is an informational report, not an audit, legal opinion or regulated credit report. Price: 0.075 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage used for the generated human-readable output. (default fr; allowed values: fr, en).fr
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
bytesYesStructured value returned for “bytes” as defined by this API contract.
sha256YesStructured value returned for “sha256” as defined by this API contract.
filenameYesStructured value returned for “filename” as defined by this API contract.
languageYesStructured value returned for “language” as defined by this API contract.
sectionsYesNamed result sections produced by this aggregator.
mime_typeYesStructured value returned for “mime type” as defined by this API contract.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
pdf_base64YesStructured value returned for “pdf base64” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the sparse annotations, the description thoroughly discloses behavior: paid-call consumption via x402, free payment challenge, no source-record modification, and the informational limitations (not audit, legal opinion, or regulated credit report). This is valuable context the annotations do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with clear sections: use, avoid, limitations, price, and paid-call behavior. It is slightly longer than strictly necessary and shows minor redundancy between the opening sentence and the 'Use when' line, but every section earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with a full input schema, output schema, explicit usage routing, pricing, payment side effects, and limitations, the description leaves nothing material for an agent to infer. It is complete for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the input schema already fully documents the identifier pattern and language enum. The description reinforces French/English output and portability, but adds no meaningful parameter semantics beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and artifact: 'Generates a simple PDF rendition of selected HelpMyAgent public company intelligence.' It clearly distinguishes this tool from structured-data siblings and the risk-reading tool through explicit avoid conditions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit 'Use when' and 'Avoid when' guidance, naming alternatives such as company/fr/intelligence for structured data and company/fr/risk-reading for risk interpretation. An agent can correctly route between this tool and its siblings without guessing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_riskFrench Company Legal RiskAInspect

Detects public legal-risk signals for a French company from company status and BODACC notices, including insolvency proceedings and deregistrations. This is not a credit score. Use when: You need explainable public legal-risk signals for a French company, including insolvency proceedings, deregistrations and administrative closure. You need a normalized low, warning, high or unknown legal-risk level backed by public events. Avoid when: You need a credit score, probability of default, payment behavior or bank-grade solvency assessment. You need sanctions or regulatory blacklist screening; use company/fr/compliance. Limitations: The BODACC analysis uses a 10-year lookback and reports when source coverage is insufficient to conclude. This is a public legal-risk signal service, not a credit score or legal opinion. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
eventsYesNormalized public events returned by the endpoint.
existsYesWhether the requested company or public record was found in the checked source.
signalsYesStructured value returned for “signals” as defined by this API contract.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
risk_levelYesExplainable public-data risk level produced by this endpoint; it is not an official credit score. (allowed values: low, warning, high, unknown).
latest_eventYesStructured value returned for “latest event” as defined by this API contract.
company_statusYesCurrent public administrative company status when available.
lookback_yearsYesStructured value returned for “lookback years” as defined by this API contract.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).
assessment_basisYesStructured value returned for “assessment basis” as defined by this API contract.
coverage_completeYesWhether the checked public-source coverage was sufficient for the endpoint’s stated scope.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the 10-year BODACC lookback, behavior when source coverage is insufficient, the paid-call nature via x402, that source records are not modified, that payment may be consumed, and the accepted networks. This is rich behavioral context that helps the agent manage side effects and expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections and front-loaded purpose. It is somewhat repetitive about the tool not being a credit score, appearing both in the opening and in the limitations, but the additional price and payment details are necessary and earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description does not need to explain return values. It covers what the tool does, when to use it, when not to use it, limitations, pricing, payment behavior, and accepted networks. An agent has enough context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: the single parameter 'identifier' is already described as '9-digit SIREN or 14-digit SIRET' with a validating pattern. The description adds no additional parameter-level detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Detects public legal-risk signals for a French company from company status and BODACC notices, including insolvency proceedings and deregistrations.' It clearly distinguishes itself from credit scoring and from compliance-related screening, even naming the compliance sibling as the alternative for sanctions/blacklist needs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' sections. It tells the agent to use this tool for explainable public legal-risk signals and normalized risk levels, and to avoid it for credit scores, default probability, payment behavior, or sanctions screening, explicitly directing to company/fr/compliance for blacklist screening.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_risk_readingFrench Company Risk ReadingAInspect

Turns existing public risk, legal, financial and signal data into a concise written reading. Use when: Get a written public-data risk reading for a French company. You need a concise human-readable interpretation of existing public risk, legal, financial and signal data. You want strengths, alerts and evidence summarized in French or English. Avoid when: You need structured legal-risk events and level only; use company/fr/risk. You need the deterministic public-data default indicator and components; use company/fr/default-score. Limitations: The narrative is derived from existing HelpMyAgent public-data results and does not create new source evidence. It is informational and must not be treated as a regulated credit or legal decision. Price: 0.030 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage used for the generated human-readable output. (default fr; allowed values: fr, en).fr
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
scoreYesNormalized score produced by the endpoint; interpretation is defined by the tool description and limitations.
sirenYesNormalized 9-digit French SIREN when available.
alertsYesStructured value returned for “alerts” as defined by this API contract.
existsYesWhether the requested company or public record was found in the checked source.
verdictYesNormalized endpoint conclusion derived from the checked public data.
evidenceYesStructured value returned for “evidence” as defined by this API contract.
languageYesStructured value returned for “language” as defined by this API contract.
narrativeYesStructured value returned for “narrative” as defined by this API contract.
strengthsYesStructured value returned for “strengths” as defined by this API contract.
confidenceYesConfidence indicator associated with an inferred or derived result.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the sparse annotations: it discloses that the narrative is derived from existing public-data results and creates no new evidence, that it is informational and not a regulated credit/legal decision, and that paid x402 calls do not modify source records but may consume payment and require new payment on repetition. This is strong behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average, but it is clearly structured into use-when, avoid-when, limitations, price, paid-call behavior, and accepted networks. Every block adds decision-relevant information, though some phrasing could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter paid tool, the description covers purpose, usage boundaries, limitations, pricing, payment behavior, accepted networks, and output language options. With an output schema present, no essential selection or invocation context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides complete descriptions for both parameters, including the SIREN/SIRET pattern and the language enum/default. The description adds only generic context about French companies and language, so it does not meaningfully increase parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: it 'Turns existing public risk, legal, financial and signal data into a concise written reading' for a French company. It also distinguishes itself from siblings by explicitly pointing to company/fr/risk and company/fr/default-score for structured alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit 'Use when' and 'Avoid when' guidance, including the specific sibling tools to use instead when structured risk events or default indicators are needed. This leaves no ambiguity about when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_sector_statisticsFrench Company Sector StatisticsAInspect

Returns the source-reported active-company count for a French NAF activity plus explicit descriptive samples for age, workforce bands and optional financials; large counts can be capped at 10,000 by the source. Use when: Measure the source-reported active-company count for a French NAF activity and obtain descriptive sample statistics. Avoid when: You need an official INSEE statistical publication rather than statistics computed from company records. Limitations: The Recherche d'entreprises search engine caps large total-result counts at 10,000. When total_active is 10000, total_active_is_exact is false and the true count is at least 10,000. Age, workforce-band and financial distributions remain explicitly sampled. When the total count is capped, sample_coverage_percent is an upper bound. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoOptional French region code used to restrict results geographically.
departmentNoOptional French department code used to restrict results geographically.
activity_codeYesFrench NAF activity code to summarize, in the form 00.00A.
include_financialsNoWhen true, include the supported public financial sample in the sector statistics. (default false).

Output Schema

ParametersJSON Schema
NameRequiredDescription
regionYesStructured value returned for “region” as defined by this API contract.
age_yearsYesStructured value returned for “age years” as defined by this API contract.
departmentYesStructured value returned for “department” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.
sample_limitYesStructured value returned for “sample limit” as defined by this API contract.
total_activeYesStructured value returned for “total active” as defined by this API contract.
activity_codeYesStructured value returned for “activity code” as defined by this API contract.
sampled_countYesStructured value returned for “sampled count” as defined by this API contract.
median_revenueYesStructured value returned for “median revenue” as defined by this API contract.
median_net_incomeYesStructured value returned for “median net income” as defined by this API contract.
total_active_is_exactYesStructured value returned for “total active is exact” as defined by this API contract.
financial_sample_countYesStructured value returned for “financial sample count” as defined by this API contract.
sample_coverage_percentYesStructured value returned for “sample coverage percent” as defined by this API contract.
employee_band_distributionYesStructured value returned for “employee band distribution” as defined by this API contract.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond annotations by disclosing the 10,000 cap, the exactness flag behavior, sample_coverage_percent semantics, pricing, paid-call behavior, and accepted networks. It also clarifies that source records are not modified, which is especially useful given readOnlyHint is false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with labeled sections, front-loads the core behavior, and keeps each sentence purposeful. While it contains more detail than average, every sentence addresses a practical concern such as pricing, limitations, or usage boundaries.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, usage boundaries, limitations, output semantics (via cap/exactness/sample coverage), pricing, and payment behavior. An output schema exists, so not describing return fields is acceptable. Nothing essential for correct selection or invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters. The description adds minimal parameter-level detail, mostly echoing the activity code and optional financials without expanding on format or behavior beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Returns') and resource: the source-reported active-company count for a French NAF activity, plus descriptive samples. It distinguishes itself from sibling tools by focusing on sector statistics rather than company profiles, benchmarks, or financials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, including a concrete alternative context (official INSEE publication vs. computed company records). This leaves no ambiguity about when the tool should be selected.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_signalsFrench Company SignalsAInspect

Detects explainable business signals from available French company data, including closure, insolvency, revenue changes, new filings, public contracts and certifications. Use when: You need explainable business signals derived from existing public Company data rather than raw records from one source. You want to detect supported signals such as closure, insolvency, revenue change, new financial filings, public contracts or certifications. Avoid when: You need the underlying raw financial, BODACC, contract or certification records; call the specialized endpoint instead. You need continuous monitoring or push alerts; this endpoint evaluates signals at request time and is not a subscription service. Limitations: Only the signal families explicitly implemented by the endpoint are evaluated; it is not a general predictive business-risk model. Coverage can be partial when one of the underlying public-data services is unavailable. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
existsYesWhether the requested company or public record was found in the checked source.
signalsYesStructured value returned for “signals” as defined by this API contract.
coverageYesCoverage information describing which underlying services or sources were available.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
lookback_daysYesStructured value returned for “lookback days” as defined by this API contract.
signals_countYesStructured value returned for “signals count” as defined by this API contract.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With all annotations set to false, the description carries the full burden of behavioral disclosure. It clearly states that source records are not modified, that paid invocations may consume x402 payment, that the payment-required challenge is free, and that repeated calls may need new payment. It also discloses coverage limitations when underlying data services are unavailable. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections and front-loaded purpose. It is longer than minimal but every section adds relevant guidance; there is minor redundancy in repeating the signal list, but it is not distracting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not need to explain return values. It covers purpose, alternatives, limitations, pricing, payment side effects, and accepted networks, making it complete for an agent to decide when and how to invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single 'identifier' parameter with its SIREN/SIRET pattern and description. The tool description adds no additional parameter-level semantics, so the baseline of 3 applies since the schema fully covers the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Detects') and resource ('explainable business signals from available French company data'), then enumerates the signal families. It clearly differentiates this tool from raw-record endpoints like financials or contracts, so an agent can tell what this endpoint is and is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' sections, including concrete exclusions for raw financial, BODACC, contract, and certification records, plus the non-subscription caveat. This gives an agent direct routing guidance versus the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_successionsFrench Establishment SuccessionsAInspect

Returns official Sirene predecessor and successor links for a French establishment, with effective date, headquarters-transfer flag and economic-continuity flag. Use when: You need official predecessor or successor establishment links for a French SIRET. Avoid when: You only need the current establishments of a company; use company/fr/establishments. Limitations: Succession links are declaration-based and INSEE explicitly states that not every real-world succession is necessarily known. Predecessor and successor cursors are independent and must only be reused for the same SIRET and direction. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum predecessor and successor links per direction, up to 100
siretYes14-digit French SIRET
successors_cursorNoOpaque cursor returned by successors_next_cursor; omit on the first call*
predecessors_cursorNoOpaque cursor returned by predecessors_next_cursor; omit on the first call*

Output Schema

ParametersJSON Schema
NameRequiredDescription
sirenYesNormalized 9-digit French SIREN when available.
siretYesNormalized 14-digit French SIRET when available.
successorsYesStructured value returned for “successors” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
predecessorsYesStructured value returned for “predecessors” as defined by this API contract.
successors_countYesStructured value returned for “successors count” as defined by this API contract.
successors_cursorYesStructured value returned for “successors cursor” as defined by this API contract.
predecessors_countYesStructured value returned for “predecessors count” as defined by this API contract.
predecessors_cursorYesStructured value returned for “predecessors cursor” as defined by this API contract.
successors_truncatedYesStructured value returned for “successors truncated” as defined by this API contract.
predecessors_truncatedYesStructured value returned for “predecessors truncated” as defined by this API contract.
successors_next_cursorYesStructured value returned for “successors next cursor” as defined by this API contract.
predecessors_next_cursorYesStructured value returned for “predecessors next cursor” as defined by this API contract.
successors_returned_countYesStructured value returned for “successors returned count” as defined by this API contract.
predecessors_returned_countYesStructured value returned for “predecessors returned count” as defined by this API contract.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are sparse (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the description carries the burden. It discloses that succession links are declaration-based and may be incomplete per INSEE, that cursors are direction-specific and must not be reused across SIRETs/directions, and that paid calls consume x402 payment while the challenge is free. This is meaningful behavioral context beyond the annotations. It doesn't fully describe what happens on repeated calls, but the paid-call behavior is well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted networks). It is slightly long but every section earns its place, and the core purpose is front-loaded in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, limitations, pricing, payment behavior, and network constraints. With an output schema present, return values don't need to be described. The only minor gap is that it doesn't explicitly state what happens if the SIRET has no successions, but the limitations section already sets expectations about data completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters. The description adds context about cursor direction-specificity and the declaration-based limitation, but it doesn't add much per-parameter meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns'), a precise resource ('official Sirene predecessor and successor links for a French establishment'), and the key data fields (effective date, headquarters-transfer flag, economic-continuity flag). It clearly distinguishes this from the sibling company_fr_establishments by naming what it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when: You need official predecessor or successor establishment links for a French SIRET' and 'Avoid when: You only need the current establishments of a company; use company/fr/establishments.' This gives the agent a clear decision rule and names the alternative tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_supplier_verificationFrench Supplier VerificationAInspect

Combines public company, compliance and optional VAT/IBAN consistency checks into a supplier review result. Use when: Review a French supplier before onboarding or payment. You need a compact pre-onboarding or pre-payment review of a French supplier using public company/compliance data plus optional VAT and IBAN checks. You want one normalized supplier verdict while retaining the individual check results. Avoid when: You need a broader multi-section company dossier; use company/fr/intelligence. You only need to compare invoice identifiers and VAT information; use company/fr/invoice-check. Limitations: IBAN validation is structural and does not prove bank-account ownership by the supplier. The result is public-data decision support, not a guarantee that a supplier or payment is fraud-free. Price: 0.050 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanNoIBAN supplied for structural validation or supplier consistency checks.
identifierYesFrench company identifier: 9-digit SIREN or 14-digit SIRET.
vat_numberNoOptional or required VAT identifier used by this validation or consistency check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
checksYesStructured value returned for “checks” as defined by this API contract.
verdictYesNormalized endpoint conclusion derived from the checked public data.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With all annotations false, the description carries the burden. It discloses source records not modified, paid-call behavior and payment consumption, non-idempotent repeat behavior, IBAN structural validation limitation, and decision-support not guarantee. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, then Use/Avoid/Limitations/Price/Paid-call behavior/Networks are clearly labeled. Each sentence adds operational value; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid multi-check tool, the description covers selection, exclusions, limitations, payment behavior, accepted networks, and expected result shape (one normalized verdict plus individual check results), while output schema covers return details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already documents all three parameters with 100% coverage. Description adds context that VAT/IBAN are optional and used for consistency checks, and clarifies IBAN validation is structural, complementing the schema's per-field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific composite action (combines public company, compliance, and optional VAT/IBAN checks into a supplier review result), names the target resource (French supplier), and explicitly differentiates from company/fr/intelligence and company/fr/invoice-check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit Use when and Avoid when sections with concrete scenarios (pre-onboarding/pre-payment review) and names alternatives (company/fr/intelligence, company/fr/invoice-check), leaving no ambiguity about tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_fr_verifyFrench Company VerificationAInspect

Verifies the existence and current status of a French company or establishment from a SIREN or SIRET. Use when: You have a French SIREN or SIRET and need to confirm that the company or establishment exists in the public source. You need its current administrative active/closed status before another automated step. Avoid when: You only have a company name and need to discover its identifier; use company/fr/search. You need directors, financials, legal risk or compliance checks; use the corresponding specialized endpoint. Limitations: This verifies public administrative existence and status only; it is not KYC, identity assurance or beneficial-owner verification. Returned fields depend on what the public company source exposes for the identifier. Price: 0.005 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes9-digit SIREN or 14-digit SIRET

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityYesStructured value returned for “city” as defined by this API contract.
nameYesPublicly available company, person, buyer or record name for this result.
sirenYesNormalized 9-digit French SIREN when available.
siretYesNormalized 14-digit French SIRET when available.
activeYesCurrent public administrative active status when available.
existsYesWhether the requested company or public record was found in the checked source.
addressYesStructured value returned for “address” as defined by this API contract.
identifierYesIdentifier supplied for the request, echoed in normalized form when applicable.
postal_codeYesStructured value returned for “postal code” as defined by this API contract.
activity_codeYesStructured value returned for “activity code” as defined by this API contract.
identifier_typeYesNormalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret).

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses critical paid-call behavior: source records are not modified, successful invocations can consume x402 payment, the challenge is free, and repeated calls may require new payment. Limitations and non-KYC disclaimers further set expectations. This is valuable context the annotations do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose, then structured into labeled Use/Avoid/Limitations/Price/Paid-call behavior sections. Every sentence carries necessary information for correct use, and the format is scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the single identifier parameter, the description covers all essential operational context: what it verifies, when not to use it, limitations, pricing, payment side effects, and accepted networks. Nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a pattern and description for the identifier parameter (9-digit SIREN or 14-digit SIRET), so schema coverage is 100%. The tool description adds no new parameter-level detail beyond restating the identifier type. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Verifies the existence and current status of a French company or establishment from a SIREN or SIRET.' It clearly distinguishes the tool from siblings that provide other specialized data, and the identifier scope (SIREN/SIRET) is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance. It names the alternative for name-based discovery (company/fr/search) and points to specialized endpoints for directors, financials, legal risk, and compliance. This gives an agent clear routing criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compliance_name_screenPublic Sanctions Name ScreenAInspect

Screens a name against integrated French, UK and UN public sanctions/freezing lists using explainable fuzzy matching. Use when: Screen a person or organization name against public sanctions lists. You have a person or organization name and need explainable screening against the supported French, UK and UN public sanctions lists. You need candidate matches with fuzzy-match scores before manual review. Avoid when: You have a French company identifier and want company-aware public compliance checks; use company/fr/compliance. You need a complete commercial AML/KYC database or a legal guarantee that a subject is unsanctioned. Limitations: Fuzzy name matching can produce false positives and false negatives, especially for aliases, transliteration and common names. No match means only that no candidate was found in the supported public lists at check time. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson or organization name to compare with the supported public sanctions and asset-freeze lists. (minimum length 2; maximum length 200).
thresholdNoMinimum fuzzy-match score accepted as a candidate public-list match. (minimum 50; maximum 100; default 85).

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
statusYesNormalized endpoint or source status.
matchesYesCandidate public-list or source matches returned by the endpoint.
sourcesYesPublic data sources used or checked for this result.
thresholdYesStructured value returned for “threshold” as defined by this API contract.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
match_countYesNumber of candidate matches returned by the screening operation.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite readOnlyHint/idempotentHint false, the description discloses that source records are not modified but a successful paid invocation can consume x402 payment, that the payment-required challenge is free, and that repeat calls may require new payment. It also surfaces fuzzy-match false positives/negatives and the meaning of a no-match result, going well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then organized into clear labeled sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted networks). Each section earns its place; there is no filler or redundant elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value documentation is not required, and the description covers the remaining decision-relevant context: when to use, when not to use, limitations, price, payment side effects, and accepted x402 networks. An agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both name and threshold are already described with constraints and defaults. The description adds context about fuzzy-match scores and candidate matches but does not add parameter-level detail beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource: screens a name against integrated French, UK and UN public sanctions/freezing lists with explainable fuzzy matching. The 'Avoid when' section explicitly distinguishes it from company/fr/compliance by pointing to company-identifier use, so it is clearly differentiated from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, including the concrete alternative company/fr/compliance for French company identifiers and exclusions for full AML/KYC or legal guarantees. This tells an agent exactly when to select this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_apiDescribe a HelpMyAgent APIA
Read-onlyIdempotent
Inspect

Inspect metadata for one published HelpMyAgent endpoint without executing or charging for it. Returns the exact method, executable URL, input/output schemas, price, coverage, provenance, examples and documentation for a canonical endpoint slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
endpointYesCanonical published HelpMyAgent endpoint slug. Accepted values are restricted to the live published catalogue.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, and non-destructive behavior, so the description adds meaningful context by stating that no execution or charge occurs. It also discloses exactly what the response covers — method, URL, schemas, price, coverage, provenance, examples, documentation — which goes beyond the annotations and clarifies the tool's observable behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one dense, well-structured sentence that front-loads the core purpose and then lists the returned metadata in a readable sequence. Every clause contributes useful information, and there is no filler or redundant repetition of the tool name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single-parameter schema, rich annotations, and presence of an output schema, the description is fully sufficient for an agent to select and invoke the tool correctly. It clarifies the non-executing, non-charging behavior and enumerates the returned metadata, leaving no critical operational gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the single parameter with a description, enum of accepted values, and pattern, so the description does not need to add much. It restates the notion of a 'canonical endpoint slug' but does not materially enhance the parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Inspect'), a specific resource ('metadata for one published HelpMyAgent endpoint'), and explicitly distinguishes this from execution by saying 'without executing or charging for it.' It also enumerates the concrete metadata returned, making the tool's role unmistakable and distinct from the many data-returning sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly conveys that this tool is for inspecting metadata rather than invoking an API, and that it requires a 'canonical endpoint slug.' It does not explicitly mention alternatives like search_apis or list_categories for discovery, but the 'without executing or charging' qualifier provides clear practical guidance on when to choose this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

iban_validateIBAN Structure ValidationAInspect

Validates IBAN structure and mod-97 checksum locally and extracts French bank/branch/account components when present. Use when: Validate an IBAN checksum before using it in a workflow. You need local IBAN normalization, structural validation and mod-97 checksum verification before using an account identifier. For French IBANs, you also want the available bank, branch, account and RIB-key components. Avoid when: You need to verify that an IBAN belongs to a specific supplier; structural validation cannot establish ownership. You need supplier-level public identity/compliance context; use company/fr/supplier-verification. Limitations: A checksum-valid IBAN can still refer to a closed, nonexistent or unrelated bank account. Bank/BIC enrichment is returned only when supported by the endpoint’s available reference data. Price: 0.002 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYesIBAN to normalize and validate structurally, including the ISO 13616 mod-97 checksum. (minimum length 15; maximum length 34).

Output Schema

ParametersJSON Schema
NameRequiredDescription
bicYesStructured value returned for “bic” as defined by this API contract.
ibanYesStructured value returned for “iban” as defined by this API contract.
validYesWhether the supplied identifier passed the endpoint’s validation rules.
rib_keyYesStructured value returned for “rib key” as defined by this API contract.
bank_codeYesStructured value returned for “bank code” as defined by this API contract.
bank_nameYesStructured value returned for “bank name” as defined by this API contract.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
branch_codeYesStructured value returned for “branch code” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
country_codeYesStructured value returned for “country code” as defined by this API contract.
account_numberYesStructured value returned for “account number” as defined by this API contract.
checksum_validYesStructured value returned for “checksum valid” as defined by this API contract.
expected_lengthYesStructured value returned for “expected length” as defined by this API contract.
structure_validYesStructured value returned for “structure valid” as defined by this API contract.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are sparse (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the description carries the burden. It discloses paid-call behavior, x402 payment consumption, that source records are not modified, and that enrichment is conditional on reference data. It does not contradict annotations. It could add more about output shape, but the output schema exists and the description covers the key behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear 'Use when', 'Avoid when', 'Limitations', and 'Price' sections. It is slightly long but every section earns its place by providing actionable guidance. The most important information (what it validates) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (one parameter, output schema present, paid-call behavior), the description covers the essential context: what it validates, when to use it, when not to, limitations, and payment implications. It doesn't detail the output structure, but the output schema exists and the description is otherwise complete for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter 'iban' is well-described in the schema. The description adds context about normalization, structural validation, mod-97 checksum, and French component extraction, which enriches the meaning of the parameter beyond the schema's basic type/length constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Validates'), a clear resource ('IBAN structure and mod-97 checksum'), and a distinctive extra ('extracts French bank/branch/account components when present'). It clearly distinguishes itself from sibling tools like vat_eu_validate and company_fr_supplier_verification by naming what it does and does not do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when' and 'Avoid when', giving concrete conditions and naming the alternative (company/fr/supplier-verification) for ownership checks. It also states limitations about checksum-valid IBANs not proving account existence, which is essential guidance for correct tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesList HelpMyAgent API categoriesA
Read-onlyIdempotent
Inspect

List public HelpMyAgent API categories and the number of published endpoints in each category without executing or charging for an API call. Returns category slugs, names, endpoint counts and documentation links. This tool takes no arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
categoriesYesPublished HelpMyAgent API categories with endpoint counts and documentation links.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds value beyond those by stating that the operation does not execute or charge for an API call and that only public categories are listed. This cost-related and scope-related transparency goes beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no fluff. The main action and key differentiator ('without executing or charging') are front-loaded, followed by specific return contents and the no-arguments note. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only catalog endpoint with a rich output schema and strong annotations, the description is fully sufficient. It covers what the tool does, what it returns, its cost profile, and the absence of required arguments, leaving no obvious gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema already shows no properties, so the baseline is 4. The description reinforces this with 'This tool takes no arguments,' which is helpful but not deeply additive since the schema already communicates the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb and resource: 'List public HelpMyAgent API categories.' It clearly states what is returned (slugs, names, endpoint counts, documentation links) and explicitly notes no API call is executed or charged, making the tool easy to distinguish from the execution-focused sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for browsing API categories cheaply or safely, but it never names alternatives such as describe_api or search_apis, nor does it state when not to use this tool. Context is clear, but explicit routing guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

procurement_fr_awardsFrench Public Contract AwardsAInspect

Searches awarded French public contracts using DECP filters for CPV, location, buyer, holder, dates and amounts. Use when: Search French public contracts that have already been awarded using CPV, location, buyer, holder, date or amount filters. Avoid when: Use procurement/fr/search for currently open BOAMP tenders. Use company/fr/public-contracts when you only need contracts awarded to one known French company. Limitations: Coverage follows the published DECP dataset and source fields. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
buyerNoPublic-buyer name or identifier used to restrict procurement results. (minimum length 2; maximum length 200).
limitNoMaximum number of records returned by this call. (minimum 1; maximum 50; default 20).
holderNoOptional value for “holder” as defined by this API contract.
date_toNoOptional value for “date to” as defined by this API contract.
date_fromNoOptional value for “date from” as defined by this API contract.
cpv_prefixNoOptional CPV prefix used to restrict procurement records to a purchasing segment.
departmentNoOptional French department code used to restrict results geographically.
max_amountNoOptional value for “max amount” as defined by this API contract. (minimum 0).
min_amountNoOptional value for “min amount” as defined by this API contract. (minimum 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
awardsYesStructured value returned for “awards” as defined by this API contract.
filtersYesStructured value returned for “filters” as defined by this API contract.
truncatedYesWhether additional matching records existed beyond the returned result limit.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
total_countYesTotal number of matching records reported by the source or endpoint.
generated_atYesUTC timestamp at which this derived result was generated.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, unavailable).
returned_countYesNumber of records included in this response.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations are sparse (readOnlyHint false, idempotentHint false), so the description carries the behavioral disclosure burden. It explicitly covers paid-call behavior, the free payment challenge, possible repeated payment, non-modification of source records, and dataset coverage limitations. This goes well beyond the annotations and provides accurate side-effect context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized with the purpose front-loaded, followed by usage guidance, limitations, pricing, paid-call behavior, and networks. However, the 'Use when' section largely repeats the first sentence ('already awarded' vs 'awarded'), creating mild redundancy that prevents a top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter search tool with an output schema and several sibling procurement tools, the description covers purpose, filter categories, alternatives, limitations, payment side effects, and accepted x402 networks. Since an output schema exists, return-value details do not need to be repeated in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: every parameter has a description and constraints. The tool description only groups parameters into categories like CPV, location, buyer, holder, dates, and amounts, which adds no meaningful per-parameter semantics beyond the schema. Baseline 3 is appropriate given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Searches awarded French public contracts using DECP filters for CPV, location, buyer, holder, dates and amounts' — a specific verb, resource, and filter list. It also distinguishes the tool from sibling tools in the Avoid section, so an agent can tell it apart without opening their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, naming precise alternatives: procurement/fr/search for open BOAMP tenders and company/fr/public-contracts for contracts awarded to one known French company. This is clear conditional routing that helps an agent select the correct tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

procurement_fr_buyer_profileFrench Public Buyer ProfileAInspect

Builds a compact DECP profile for a French public buyer by name or SIRET. Use when: Profile a French public buyer from its published contract records. You need a compact historical procurement profile for a French public buyer identified by name or SIRET. You want published award volume, recent activity, top CPV segments and frequent suppliers from DECP data. Avoid when: You need currently open tenders from that buyer; use procurement/fr/search. You need one supplier’s awarded-contract history; use company/fr/public-contracts. Limitations: The profile is derived from the sampled/public DECP award records matched to the buyer query. Published contract records do not represent every purchasing activity or off-contract expenditure of the buyer. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
buyerYesFrench public-buyer name or SIRET used to build the procurement profile. (minimum length 2; maximum length 200).
limitNoMaximum number of records returned by this call. (minimum 1; maximum 100; default 100).

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYesStructured value returned for “query” as defined by this API contract.
by_yearYesStructured value returned for “by year” as defined by this API contract.
top_cpvYesStructured value returned for “top cpv” as defined by this API contract.
buyer_nameYesStructured value returned for “buyer name” as defined by this API contract.
buyer_siretYesStructured value returned for “buyer siret” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
total_countYesTotal number of matching records reported by the source or endpoint.
generated_atYesUTC timestamp at which this derived result was generated.
sampled_countYesStructured value returned for “sampled count” as defined by this API contract.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, unavailable).
top_suppliersYesStructured value returned for “top suppliers” as defined by this API contract.
sampled_amountYesStructured value returned for “sampled amount” as defined by this API contract.
latest_notification_dateYesStructured value returned for “latest notification date” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry no safety hints (all false), so the description carries full burden. It discloses that source records are not modified, details the x402 payment side effect, notes that repeated calls may require new payment, and states limitations about coverage of DECP records. This is thorough and exceeds typical descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted networks). It is longer than minimal but every section adds value, and the core purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and a description covering usage, limitations, pricing, payment behavior, and alternatives, nothing essential is missing. The agent has enough context to decide when and how to call this tool safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented. The description reinforces that the buyer can be a name or SIRET, but this is already in the schema. It adds no new semantics beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Builds a compact DECP profile for a French public buyer by name or SIRET.' It clearly states what is returned (award volume, activity, CPV segments, suppliers) and distinguishes itself from siblings by explicitly naming procurement/fr/search for open tenders and company/fr/public-contracts for a supplier's history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description contains explicit 'Use when' and 'Avoid when' sections. It states the conditions for use and names the alternative tools to use in other scenarios, leaving no ambiguity about when to select this tool over its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

procurement_fr_deadlinesFrench Public Contract Expiry & Renewal SignalsAInspect

Estimates upcoming public-contract end dates using DECP notification, initial duration and published duration modifications, with an explicit confidence level. Use when: Find French public contracts likely to expire or renew soon, taking published DECP duration modifications into account. Avoid when: You need open tenders rather than awarded-contract expiry signals; use procurement/fr/search. Limitations: End dates remain estimates; confidence is reduced when DECP reports a modification without a revised duration. Malformed or non-date DECP modification fields are ignored and an isolated modification identifier no longer creates a modification signal by itself. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records returned by this call. (minimum 1; maximum 50; default 25).
cpv_prefixNoOptional CPV code prefix used to restrict public-contract expiry estimates to a procurement segment.
departmentNoOptional French department code used to restrict results geographically.
max_monthsNoMaximum number of months from now before the estimated contract end date. (minimum 1; maximum 60; default 18).
min_monthsNoMinimum number of months from now before the estimated contract end date. (minimum 0; maximum 60; default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
contractsYesNormalized public-contract records returned by the endpoint.
cpv_prefixYesStructured value returned for “cpv prefix” as defined by this API contract.
departmentYesStructured value returned for “department” as defined by this API contract.
max_monthsYesStructured value returned for “max months” as defined by this API contract.
min_monthsYesStructured value returned for “min months” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, unavailable).
returned_countYesNumber of records included in this response.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With all annotations set to false (readOnlyHint=false, etc.), the description carries the full burden of behavioral disclosure. It explicitly states that source records are not modified, but a paid invocation consumes the x402 payment, the payment-required challenge is free, and repeating the tool may require a new payment. It also discloses that end dates are estimates, confidence is reduced under certain conditions, and how malformed fields are handled. This is thorough and directly addresses the tool's side effects and reliability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: purpose, use/avoid, limitations, price, paid-call behavior, and accepted networks. It is front-loaded with the core purpose, then provides necessary operational details. Every sentence adds value—no redundancy. The length is justified given the need to convey estimation behavior, payment specifics, and limitations without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (indicated by 'Has output schema: true'), the description does not need to explain return values. It covers all other essential aspects: purpose, usage, limitations, pricing, paid-call behavior, and network support. The description is complete for an agent to correctly decide when to use it, what to expect, and how to handle side effects. No missing critical information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full descriptions for all five parameters, and the schema coverage is 100%. The tool description does not add parameter-specific semantics beyond what the schema provides; it only references the overall purpose. Since the schema handles parameter documentation adequately, a baseline of 3 is appropriate. The description's mention of 'taking published DECP duration modifications into account' is algorithm-related rather than parameter-specific.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: estimating upcoming public-contract end dates using DECP notification, initial duration, and duration modifications, with an explicit confidence level. It also distinguishes itself from the sibling tool 'procurement/fr/search' by explicitly saying 'Avoid when: You need open tenders rather than awarded-contract expiry signals; use procurement/fr/search.' This gives a specific verb, resource, and differentiates it from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' sections, directly naming the alternative tool and the condition for choosing it. It also lists limitations (confidence reduced when DECP reports a modification without a revised duration, malformed fields ignored, isolated modification identifier no longer creates a signal) which guide the agent on appropriate usage. This is comprehensive and leaves no ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

procurement_fr_marketFrench Public Procurement MarketAInspect

Summarizes the size and structure of a French public-procurement segment from awarded DECP contracts. Use when: Measure the size and structure of a French public-procurement segment over a recent time window. Avoid when: Use procurement/fr/awards when you need individual awarded-contract records. Use procurement/fr/buyer-profile when the question is specifically about one public buyer. Limitations: Supplier ranking is based on the latest 100 matching awards; its sample coverage is returned explicitly. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
buyerNoPublic-buyer name or identifier used to restrict procurement results. (minimum length 2; maximum length 200).
cpv_prefixNoOptional CPV prefix used to restrict procurement records to a purchasing segment.
departmentNoOptional French department code used to restrict results geographically.
lookback_monthsNoOptional value for “lookback months” as defined by this API contract. (minimum 1; maximum 60; default 12).

Output Schema

ParametersJSON Schema
NameRequiredDescription
filtersYesStructured value returned for “filters” as defined by this API contract.
summaryYesCompact derived summary of the returned records.
top_cpvYesStructured value returned for “top cpv” as defined by this API contract.
top_buyersYesStructured value returned for “top buyers” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok, partial, unavailable).
lookback_monthsYesStructured value returned for “lookback months” as defined by this API contract.
supplier_sampled_countYesStructured value returned for “supplier sampled count” as defined by this API contract.
top_suppliers_in_latest_sampleYesStructured value returned for “top suppliers in latest sample” as defined by this API contract.
supplier_sample_coverage_percentYesStructured value returned for “supplier sample coverage percent” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false and nearly uninformative, so the description carries the full burden — and it delivers: it discloses the 100-award sampling limitation for supplier ranking, the x402 price, that source records are not modified, that a successful call consumes payment while the challenge is free, re-payment requirements, and accepted networks. This goes well beyond what annotations provide. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with labeled sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted x402 networks) and a front-loaded purpose statement. Somewhat long, but the paid-call and payment-repetition details are materially important and each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid aggregation tool with an output schema present and four self-documented optional parameters, the description covers everything an agent needs: purpose, routing, sampling limitation, pricing, payment mechanics, and accepted networks. Return-value details are not needed since an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description loosely contextualizes parameters ('recent time window' maps to lookback_months, 'segment' to cpv_prefix, 'one public buyer' to buyer) but adds no format, precedence, or interaction detail beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource: 'Summarizes the size and structure of a French public-procurement segment from awarded DECP contracts.' This distinguishes it from procurement_fr_awards (individual records), procurement_fr_search, and procurement_fr_trends, and it explicitly names the siblings it is not in the avoid section.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit 'Use when' statement ('Measure the size and structure of a French public-procurement segment over a recent time window') and an explicit 'Avoid when' clause naming two concrete alternatives (procurement/fr/awards for individual records, procurement/fr/buyer-profile for a single buyer). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

real_estate_fr_dpeFrench Property DPEAInspect

Finds ADEME energy-performance certificates for an address or French municipality. Use when: Find residential DPE records for a French address or municipality. Avoid when: An address can contain several dwellings and therefore several DPE records. Limitations: ADEME republishes data submitted by diagnosticians; an address match does not guarantee identification of the exact dwelling. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records returned by this call. (minimum 1; maximum 50; default 10).
addressNoOptional value for “address” as defined by this API contract. (minimum length 5; maximum length 250).
code_inseeNoOptional value for “code insee” as defined by this API contract.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dpeYesStructured value returned for “dpe” as defined by this API contract.
locationYesStructured value returned for “location” as defined by this API contract.
truncatedYesWhether additional matching records existed beyond the returned result limit.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
total_countYesTotal number of matching records reported by the source or endpoint.
generated_atYesUTC timestamp at which this derived result was generated.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok).
returned_countYesNumber of records included in this response.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the ADEME republishing limitation, the non-modification of source records, and the critical paid-call behavior including that repeating a call may require a new payment. This goes well beyond the all-false annotations and gives the agent essential expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and each section (use/avoid, limitation, price, payment behavior, networks) earns its place. It is longer than the minimum, but the extra length is substantive rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values need no explanation. The description covers usage boundaries, a key data limitation, pricing, payment side effects, and accepted networks, making it fully actionable for a paid external API with no helpful annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with parameter descriptions already explaining limit, address, and code_insee constraints. The tool description adds only the high-level notion of address or municipality, which does not materially deepen parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Finds') and a precise resource ('ADEME energy-performance certificates'), scoped to an address or French municipality. This clearly differentiates it from sibling real-estate tools like market, parcel, risks, transactions, and valuation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit 'Use when' and 'Avoid when' conditions, including the important multi-dwelling caveat. However, it does not name an alternative tool to use when the address is ambiguous, so it falls just short of the highest bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

real_estate_fr_marketFrench Real-estate MarketAInspect

Summarizes local French property transaction prices and yearly trends from geolocated DVF data. Use when: Summarize a French local property market from recorded transactions. Avoid when: Do not use as a listing-price index or a certified appraisal. Limitations: Statistics use up to 200 geolocated DVF single-dwelling mutations per year and residential property type; VEFA/new and professional-use mutations are excluded, with truncation exposed explicitly. DVF does not cover Alsace, Moselle or Mayotte; requests in those areas therefore return an empty result. Price: 0.020 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoOptional value for “address” as defined by this API contract. (minimum length 5; maximum length 250).
radius_mNoOptional value for “radius m” as defined by this API contract. (minimum 100; maximum 650; default 650).
code_inseeNoOptional value for “code insee” as defined by this API contract.
property_typeNoOptional value for “property type” as defined by this API contract. (default all; allowed values: all, house, apartment).all
lookback_yearsNoOptional value for “lookback years” as defined by this API contract. (minimum 1; maximum 5; default 5).

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearlyYesStructured value returned for “yearly” as defined by this API contract.
summaryYesCompact derived summary of the returned records.
locationYesStructured value returned for “location” as defined by this API contract.
radius_mYesStructured value returned for “radius m” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.
property_typeYesStructured value returned for “property type” as defined by this API contract.
sampled_countYesStructured value returned for “sampled count” as defined by this API contract.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok).
coverage_scopeYesStructured value returned for “coverage scope” as defined by this API contract. (allowed values: radius, commune).
lookback_yearsYesStructured value returned for “lookback years” as defined by this API contract.
sample_truncatedYesStructured value returned for “sample truncated” as defined by this API contract.
source_total_countYesStructured value returned for “source total count” as defined by this API contract.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool is a paid call with a price and that it does not modify source records, while noting that successful invocations consume payment. It also details limitations such as geographic exclusions and truncation. Since annotations are all false and provide no hints, the description carries the full burden and does so thoroughly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured into clear sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Networks) and front-loads the primary purpose. While it is somewhat long, each section provides distinct, necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers essential operational aspects: usage context, exclusions, limitations, cost, payment behavior, and geographic coverage. It does not mention the required at-least-one-of-address/code_insee constraint, but that is present in the schema description, so the description is complete enough given the presence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all parameters with descriptions and constraints, but the parameter descriptions are generic ('as defined by this API contract') and provide no additional meaning. The tool description does not elaborate on parameter usage, so it adds no value beyond the schema. With 100% coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: summarizing French property transaction prices and yearly trends from DVF data. It uses a specific verb ('summarizes') and resource ('French property transaction prices and yearly trends'), distinguishing it from sibling real_estate tools like real_estate_fr_transactions (raw transactions) and real_estate_fr_valuation (appraisal).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit 'Use when' and 'Avoid when' sections, clarifying appropriate scenarios and explicitly excluding use as a listing-price index or certified appraisal. It does not name specific sibling tools but provides sufficient guidance for an agent to select this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

real_estate_fr_parcelFrench Cadastral ParcelAInspect

Identifies French cadastral parcels by address point or cadastral municipality/section/number and returns official IGN geometry. Use when: Identify a French cadastral parcel and retrieve its geometry. Avoid when: Do not treat this as a legally opposable property-title document. Limitations: Address search intersects the geocoded point with cadastral geometry and can return multiple parcels on a parcel boundary. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
numeroNoOptional value for “numero” as defined by this API contract.
addressNoOptional value for “address” as defined by this API contract. (minimum length 5; maximum length 250).
sectionNoOptional value for “section” as defined by this API contract.
code_inseeNoOptional value for “code insee” as defined by this API contract.

Output Schema

ParametersJSON Schema
NameRequiredDescription
bboxYesStructured value returned for “bbox” as defined by this API contract.
parcelsYesStructured value returned for “parcels” as defined by this API contract.
locationYesStructured value returned for “location” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
total_countYesTotal number of matching records reported by the source or endpoint.
generated_atYesUTC timestamp at which this derived result was generated.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok).

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false and provide no safety hints, so the description carries the full burden. It discloses that source records are not modified, details the x402 paid-call behavior (payment consumption, free challenge, potential new payment on repeat), and warns of multiple parcels on boundary intersections. This is thorough and goes beyond the annotation defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted networks) and front-loads the core purpose. Every sentence adds information, including pricing and network details, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists (the tool returns IGN geometry, likely defined there), the description covers what the tool does, how to invoke it, limitations, pricing, payment behavior, and supported networks. An agent has everything needed to decide when to call and what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the per-parameter descriptions are generic ('Optional value for ... as defined by this API contract'). The tool description clarifies the two parameter groups (address vs. code_insee+section+numero) and mentions the cadastral reference, adding modest value over the schema. Baseline 3 is appropriate since the schema already covers syntax via patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Identifies') and a clear resource (French cadastral parcels), and states the two lookup methods (address or municipality/section/number) plus the output (official IGN geometry). It is distinct from sibling real-estate tools, which cover DPE, market, risks, transactions, and valuation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' states the intended invocation scenario. The 'Avoid when' warns against legal use but does not name an alternative tool; however, among the siblings there is no direct substitute for parcel identification, so the guidance is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

real_estate_fr_risksFrench Property RisksAInspect

Returns the types of natural and technological risks recorded by Géorisques/GASPAR for the municipality of a French property location. Use when: Screen the municipality of a French property location for recorded risk types. Avoid when: Do not interpret municipality-level risk presence as parcel-level exposure. Limitations: This endpoint works at municipality level and is not a regulatory parcel-level risk statement. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoOptional value for “address” as defined by this API contract. (minimum length 5; maximum length 250).
code_inseeNoOptional value for “code insee” as defined by this API contract.

Output Schema

ParametersJSON Schema
NameRequiredDescription
risksYesStructured value returned for “risks” as defined by this API contract.
scopeYesStructured value returned for “scope” as defined by this API contract. (allowed values: commune).
locationYesStructured value returned for “location” as defined by this API contract.
risk_countYesStructured value returned for “risk count” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok).

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no helpful annotations (all hints are false), the description carries the full burden and does so thoroughly. It discloses the municipality-only limitation, non-regulatory nature, x402 payment cost, payment consumption behavior on repeat calls, accepted networks, and that source records are not modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core function, then organized into clearly labeled sections for usage, limitations, pricing, paid-call behavior, and accepted networks. Every line earns its place; the structured format makes the important caveats scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists plus a small two-parameter input schema, the description covers all operational essentials: purpose, usage boundaries, limitations, cost, payment side effects, and supported networks. An agent has enough context to invoke the tool correctly and set expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, so the description need not repeat parameter details, and it does not. The 'at least one' requirement is already stated in the schema. The description adds no additional semantic meaning beyond what the schema provides, warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb and resource: 'Returns the types of natural and technological risks recorded by Géorisques/GASPAR for the municipality of a French property location.' It clearly identifies the geographic scope (municipality) and distinguishes this from parcel-level risk tools among its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit 'Use when' and 'Avoid when' guidance, including a clear warning not to treat municipality-level risk as parcel-level exposure. It stops short of naming an alternative sibling tool for parcel-level risk, which keeps it from a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

real_estate_fr_transactionsFrench Real-estate TransactionsAInspect

Searches published French geolocated DVF property transactions by address area or municipality, with date, type and amount filters. Use when: Find actual French property sales around an address or in a municipality. Avoid when: Do not use for current property listings or asking prices. Limitations: Geolocated DVF reflects published transactions and can include complex mutations; HelpMyAgent only calculates price per square metre for single-house or single-apartment mutations. DVF does not cover Alsace, Moselle or Mayotte; requests in those areas therefore return an empty result. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records returned by this call. (minimum 1; maximum 100; default 20).
addressNoOptional value for “address” as defined by this API contract. (minimum length 5; maximum length 250).
date_toNoOptional value for “date to” as defined by this API contract.
radius_mNoOptional value for “radius m” as defined by this API contract. (minimum 100; maximum 650; default 500).
date_fromNoOptional value for “date from” as defined by this API contract.
code_inseeNoOptional value for “code insee” as defined by this API contract.
max_amountNoOptional value for “max amount” as defined by this API contract. (minimum 0).
min_amountNoOptional value for “min amount” as defined by this API contract. (minimum 0).
property_typeNoOptional value for “property type” as defined by this API contract. (default all; allowed values: all, house, apartment).all

Output Schema

ParametersJSON Schema
NameRequiredDescription
locationYesStructured value returned for “location” as defined by this API contract.
radius_mYesStructured value returned for “radius m” as defined by this API contract.
truncatedYesWhether additional matching records existed beyond the returned result limit.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.
transactionsYesStructured value returned for “transactions” as defined by this API contract.
property_typeYesStructured value returned for “property type” as defined by this API contract.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok).
coverage_scopeYesStructured value returned for “coverage scope” as defined by this API contract. (allowed values: radius, commune).
returned_countYesNumber of records included in this response.
source_total_countYesStructured value returned for “source total count” as defined by this API contract.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite all annotations being false, the description discloses critical behavioral aspects: paid-call behavior via x402, that source records are not modified, the payment-required challenge is free, and repeat calls may require new payment. It also explains the price per sqm limitation and empty results for excluded areas, going well beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, use/avoid, limitations, pricing, paid-call behavior). It is slightly long but each section serves a purpose, especially given the payment details. The main purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no annotation hints, and an output schema present, the description covers essential operational details: what data is returned (transactions), geographic exclusions, payment implications, and the price-per-sqm limitation. It is comprehensive enough for an agent to call correctly, with output format delegated to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are documented. The description adds meaningful context by clarifying that searching is by address area or municipality and that date, type, and amount filters are available, which maps to specific parameters. This adds value beyond the generic schema descriptions, though not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Searches') with a clear resource ('published French geolocated DVF property transactions') and lists key filters (date, type, amount). It clearly distinguishes from sibling tools like real_estate_fr_market or real_estate_fr_valuation by focusing on transactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides 'Use when' and 'Avoid when' conditions, naming the exact use case (actual sales around an address or municipality) and the exclusion (current listings/asking prices). It also highlights limitations (areas not covered) to prevent misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

real_estate_fr_valuationFrench Property ValuationAInspect

Estimates a statistical property value range from nearby or municipal geolocated DVF comparable transactions. Use when: Estimate a French house or apartment from comparable recorded sales. Avoid when: Do not present the result as a certified appraisal or guaranteed sale price. Limitations: Valuation depends on the density of single-dwelling geolocated DVF comparables; VEFA/new and professional-use mutations are excluded, and built area may differ from Carrez area. DVF does not cover Alsace, Moselle or Mayotte; requests in those areas therefore return an empty result. Price: 0.030 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoOptional value for “address” as defined by this API contract. (minimum length 5; maximum length 250).
radius_mNoOptional value for “radius m” as defined by this API contract. (minimum 100; maximum 650; default 650).
code_inseeNoOptional value for “code insee” as defined by this API contract.
surface_m2YesRequired value for “surface m2” as defined by this API contract. (minimum 9; maximum 1000).
property_typeYesRequired value for “property type” as defined by this API contract. (allowed values: house, apartment).
lookback_yearsNoOptional value for “lookback years” as defined by this API contract. (minimum 1; maximum 5; default 3).

Output Schema

ParametersJSON Schema
NameRequiredDescription
locationYesStructured value returned for “location” as defined by this API contract.
radius_mYesStructured value returned for “radius m” as defined by this API contract.
confidenceYesConfidence indicator associated with an inferred or derived result. (allowed values: high, medium, low, insufficient).
surface_m2YesStructured value returned for “surface m2” as defined by this API contract.
comparablesYesStructured value returned for “comparables” as defined by this API contract.
limitationsNoKnown interpretation, source-coverage or freshness limitations for this result.
generated_atYesUTC timestamp at which this derived result was generated.
property_typeYesStructured value returned for “property type” as defined by this API contract.
source_statusYesAvailability status of the relevant upstream public source. (allowed values: ok).
lookback_yearsYesStructured value returned for “lookback years” as defined by this API contract.
estimated_valueYesStructured value returned for “estimated value” as defined by this API contract.
comparable_countYesStructured value returned for “comparable count” as defined by this API contract.
p25_price_per_m2YesStructured value returned for “p25 price per m2” as defined by this API contract.
p75_price_per_m2YesStructured value returned for “p75 price per m2” as defined by this API contract.
source_truncatedYesStructured value returned for “source truncated” as defined by this API contract.
source_total_countYesStructured value returned for “source total count” as defined by this API contract.
estimated_range_lowYesStructured value returned for “estimated range low” as defined by this API contract.
median_price_per_m2YesStructured value returned for “median price per m2” as defined by this API contract.
estimated_range_highYesStructured value returned for “estimated range high” as defined by this API contract.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no helpful annotations (all hints false), the description carries the full burden and delivers rich behavior: paid-call behavior, source records not modified, payment-required challenge free, potential repeat payment, DVF coverage gaps, and exclusion of VEFA/new/professional mutations. This goes far beyond what annotations provide and gives the agent a realistic model of side effects and limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with labeled sections: purpose, use when, avoid when, limitations, price, paid-call behavior, and accepted networks. Every sentence carries useful information and the most important facts are front-loaded. There is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a paid, complex API with an output schema, and the description covers purpose, usage boundaries, limitations, geographic exclusions, pricing, and payment side effects. The input schema separately documents required fields and the constraint that at least one of address or code_insee must be provided. Nothing critical is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds loose semantic context by mentioning 'house or apartment' and 'built area may differ from Carrez area,' but it does not explain parameter selection rules such as the need for at least one of address or code_insee. The schema itself only repeats 'as defined by this API contract,' so the tool description adds minimal parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Estimates a statistical property value range from nearby or municipal geolocated DVF comparable transactions.' The use-when line adds a concrete scenario. However, it does not explicitly distinguish itself from sibling tools like real_estate_fr_transactions or real_estate_fr_market, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Avoid when' guidance, including a clear caution against presenting results as certified appraisals. It also documents a major geographic limitation (Alsace, Moselle, Mayotte return empty results). It does not name alternative sibling tools for different use cases, so the guidance is clear but not fully comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_apisSearch HelpMyAgent APIsA
Read-onlyIdempotent
Inspect

Find published HelpMyAgent capabilities matching a natural-language task or intent without executing or charging for a paid call. Returns matching endpoint descriptors with pricing, coverage, usage guidance and documentation. Optional category, country and max_price filters narrow the catalogue search.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDescribe the desired outcome or agent task in natural language; matching uses endpoint names, descriptions, tags, usage guidance and example queries.
countryNoOptional ISO 3166-1 alpha-2 country code, for example FR; matching is case-insensitive and restricts results to APIs declaring that coverage.
categoryNoOptional exact published category slug; when supplied, only APIs in that category are considered.
max_priceNoOptional inclusive maximum advertised unit price per call; APIs priced above this value are excluded.

Output Schema

ParametersJSON Schema
NameRequiredDescription
apisYesMatching API descriptors including endpoint, pricing, coverage, usage guidance and documentation links.
countYesNumber of published APIs matching the supplied discovery criteria.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds meaningful behavior beyond them by explicitly stating that this tool does not execute or charge for a paid call and returns descriptors rather than live API results. This is important safety-relevant context for an agent deciding whether to invoke the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the purpose and non-execution guarantee are front-loaded, the return content is specified, and the filters are listed compactly. Every sentence contributes essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a catalogue-search tool with fully documented parameters and an output schema, the description covers everything needed to invoke it correctly: natural-language querying, non-execution, returned descriptor content, and narrowing filters. No critical invocation detail is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters. The description only mentions the query and the three optional filters at a high level, adding no syntax, matching details, or exact-value semantics beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair, 'Find published HelpMyAgent capabilities,' and adds the critical qualifier 'without executing or charging for a paid call,' distinguishing it from execution-oriented endpoints and from related discovery tools like describe_api. It clearly states the return content: matching endpoint descriptors with pricing, coverage, usage guidance, and documentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly establishes when to use the tool: when an agent has a natural-language task or intent and wants to discover published APIs without executing a call. It does not explicitly name alternatives such as describe_api or list_categories or state when those would be preferred, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vat_eu_validateEU VAT ValidationAInspect

Validates an EU VAT number through the European Commission VIES service, with explicit unavailable status. Use when: Validate an EU VAT number before invoicing or supplier onboarding. You need to validate an EU VAT number through the European Commission VIES service before invoicing or onboarding. You have either a complete VAT number or a country code plus national number. Avoid when: You need invoice-level consistency for a French company identifier; use company/fr/invoice-check. You need broader supplier identity, compliance or IBAN checks; use company/fr/supplier-verification. Limitations: Validation depends on VIES availability and on the member-state data returned through that service. A valid VAT number does not prove bank-account ownership, solvency or absence of fraud. Price: 0.005 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

ParametersJSON Schema
NameRequiredDescriptionDefault
numberNoNational VAT identifier body without the country prefix, used together with country_code.
vat_numberNoComplete EU VAT number including the two-letter country prefix; alternatively provide country_code and number separately.
country_codeNoEU/VIES country prefix used when the VAT number is supplied in separate parts.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesPublicly available company, person, buyer or record name for this result.
validYesWhether the supplied identifier passed the endpoint’s validation rules.
numberYesStructured value returned for “number” as defined by this API contract.
sourceYesStructured value returned for “source” as defined by this API contract.
statusYesNormalized endpoint or source status.
addressYesStructured value returned for “address” as defined by this API contract.
checked_atYesUTC timestamp at which HelpMyAgent performed the check.
vat_numberYesStructured value returned for “vat number” as defined by this API contract.
country_codeYesStructured value returned for “country code” as defined by this API contract.
request_dateYesStructured value returned for “request date” as defined by this API contract.
request_identifierYesStructured value returned for “request identifier” as defined by this API contract.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false hints, so the description carries the full burden and delivers. It discloses dependence on VIES availability and member-state data, clarifies that a valid VAT number does not prove solvency or absence of fraud, and — critically for a paid tool — explains that a successful invocation consumes x402 payment while the challenge is free and repeat calls may require new payment. This resolves the ambiguity of readOnlyHint=false by clarifying source records are not modified but money can be spent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with labeled sections (Use when, Avoid when, Limitations, Price, Paid-call behavior, Accepted networks) that make it easy for an agent to scan, and the core purpose is front-loaded. It earns its length, though the 'Use when' section repeats the invoicing/onboarding context in two nearly identical sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, externally-dependent validation tool, the description covers everything: purpose, trigger conditions, exclusions with named alternatives, limitations, price, payment-consumption behavior, accepted networks, and input prerequisites. An output schema exists for return values, and the 'explicit unavailable status' even previews the response shape, so nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — all three parameters (vat_number, country_code, number) are documented with patterns, enum, and their relationship, including the anyOf constraint. The description merely restates the either/or input requirement ('You have either a complete VAT number or a country code plus national number'), adding no semantic detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The lead sentence states a specific verb and resource — 'Validates an EU VAT number through the European Commission VIES service' — and adds a distinguishing behavioral detail ('with explicit unavailable status'). It is clearly differentiated from the company_fr_* siblings by explicitly naming invoice-check and supplier-verification as the tools for French-company checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' and 'Avoid when' sections give concrete trigger conditions (before invoicing or supplier onboarding) and name precise alternatives: company/fr/invoice-check for French invoice consistency and company/fr/supplier-verification for broader compliance or IBAN checks. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • Removedcompany_fr_competitors
    • Changedcompany_fr_compliance1 field changed
      • addedOutput schema / properties / regulatory
        Added value: +{
        +  "description": "Structured value returned for “regulatory” as defined by this API contract.",
        +  "properties": {
        +    "approval_count": {
        +      "description": "Structured value returned for “approval count” as defined by this API contract.",
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "regulated": {
        +      "description": "Structured value returned for “regulated” as defined by this API contract.",
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "source_status": {
        +      "description": "Availability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried).",
        +      "enum": [
        +        "ok",
        +        "unavailable",
        +        "not_queried"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source_status",
        +    "regulated",
        +    "approval_count"
        +  ],
        +  "type": "object"
        +}
    • Changedcompany_fr_intelligence1 field changed
      • addedInput schema / properties / domain
        Added value: +{
        +  "description": "Optional domain used by the compliance section; it is not treated as an officially verified company domain.",
        +  "type": "string"
        +}
    • Removedcompany_fr_kyb
    • Removedcompany_fr_legal_announcements_since
    • Removedcompany_fr_regulator_alerts
    • Changeddescribe_api1 field changed
      • changedInput schema / properties / endpoint / enum
        Previous value: -[
        -  "company/fr/aids",
        -  "company/fr/benchmark",
        -  "company/fr/certifications",
        -  "company/fr/changes",
        -  "company/fr/closures",
        -  "company/fr/compare",
        -  "company/fr/competitors",
        -  "company/fr/compliance",
        -  "company/fr/default-score",
        -  "company/fr/director-mandates",
        -  "company/fr/directors",
        -  "company/fr/e-invoice",
        -  "company/fr/establishments",
        -  "company/fr/events",
        -  "company/fr/financials",
        -  "company/fr/history",
        -  "company/fr/industrial-risk",
        -  "company/fr/intelligence",
        -  "company/fr/invoice-check",
        -  "company/fr/kyb",
        -  "company/fr/kyb-batch",
        -  "company/fr/legal-announcements-search",
        -  "company/fr/legal-announcements-since",
        -  "company/fr/lobbying",
        -  "company/fr/nearby",
        -  "company/fr/new",
        -  "company/fr/opportunities",
        -  "company/fr/payment-context",
        -  "company/fr/peers",
        -  "company/fr/profile",
        -  "company/fr/prospecting",
        -  "company/fr/public-contract-competitors",
        -  "company/fr/public-contracts",
        -  "company/fr/public-contracts-eu",
        -  "company/fr/regulator-alerts",
        -  "company/fr/regulatory-approvals",
        -  "company/fr/report",
        -  "company/fr/risk",
        -  "company/fr/risk-reading",
        -  "company/fr/search",
        -  "company/fr/sector-statistics",
        -  "company/fr/signals",
        -  "company/fr/successions",
        -  "company/fr/supplier-verification",
        -  "company/fr/verify",
        -  "compliance/name-screen",
        -  "iban/validate",
        -  "procurement/fr/awards",
        -  "procurement/fr/buyer-profile",
        -  "procurement/fr/deadlines",
        -  "procurement/fr/market",
        -  "procurement/fr/search",
        -  "procurement/fr/trends",
        -  "vat/eu/validate"
        -]New value: +[
        +  "company/fr/aids",
        +  "company/fr/benchmark",
        +  "company/fr/certifications",
        +  "company/fr/changes",
        +  "company/fr/closures",
        +  "company/fr/compare",
        +  "company/fr/compliance",
        +  "company/fr/default-score",
        +  "company/fr/director-mandates",
        +  "company/fr/directors",
        +  "company/fr/e-invoice",
        +  "company/fr/establishments",
        +  "company/fr/events",
        +  "company/fr/financials",
        +  "company/fr/history",
        +  "company/fr/industrial-risk",
        +  "company/fr/intelligence",
        +  "company/fr/invoice-check",
        +  "company/fr/kyb-batch",
        +  "company/fr/legal-announcements-search",
        +  "company/fr/lobbying",
        +  "company/fr/nearby",
        +  "company/fr/new",
        +  "company/fr/opportunities",
        +  "company/fr/payment-context",
        +  "company/fr/peers",
        +  "company/fr/profile",
        +  "company/fr/prospecting",
        +  "company/fr/public-contract-competitors",
        +  "company/fr/public-contracts",
        +  "company/fr/public-contracts-eu",
        +  "company/fr/regulatory-approvals",
        +  "company/fr/report",
        +  "company/fr/risk",
        +  "company/fr/risk-reading",
        +  "company/fr/search",
        +  "company/fr/sector-statistics",
        +  "company/fr/signals",
        +  "company/fr/successions",
        +  "company/fr/supplier-verification",
        +  "company/fr/verify",
        +  "compliance/name-screen",
        +  "iban/validate",
        +  "procurement/fr/awards",
        +  "procurement/fr/buyer-profile",
        +  "procurement/fr/deadlines",
        +  "procurement/fr/market",
        +  "procurement/fr/search",
        +  "procurement/fr/trends",
        +  "vat/eu/validate"
        +]
  2. 38 tool updates
    • Changedcompany_fr_aids1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "identifier_type",
        -  "exists",
        -  "siren",
        -  "name",
        -  "company_status",
        -  "matching_context",
        -  "source_total_count",
        -  "total_candidates",
        -  "returned_count",
        -  "truncated",
        -  "aids",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "identifier_type",
        +  "exists",
        +  "siren",
        +  "name",
        +  "company_status",
        +  "matching_context",
        +  "source_total_count",
        +  "total_candidates",
        +  "returned_count",
        +  "truncated",
        +  "aids"
        +]
    • Changedcompany_fr_benchmark1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "scope",
        -  "peer_count",
        -  "metrics",
        -  "peers",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "scope",
        +  "peer_count",
        +  "metrics",
        +  "peers"
        +]
    • Changedcompany_fr_changes1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "identifier_type",
        -  "siren",
        -  "exists",
        -  "since",
        -  "until",
        -  "offset",
        -  "next_offset",
        -  "limit",
        -  "total_count",
        -  "returned_count",
        -  "truncated",
        -  "changes",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "identifier_type",
        +  "siren",
        +  "exists",
        +  "since",
        +  "until",
        +  "offset",
        +  "next_offset",
        +  "limit",
        +  "total_count",
        +  "returned_count",
        +  "truncated",
        +  "changes"
        +]
    • Changedcompany_fr_closures1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "since",
        -  "until",
        -  "cursor",
        -  "next_cursor",
        -  "limit",
        -  "total_count",
        -  "returned_count",
        -  "truncated",
        -  "closures",
        -  "limitations"
        -]New value: +[
        +  "since",
        +  "until",
        +  "cursor",
        +  "next_cursor",
        +  "limit",
        +  "total_count",
        +  "returned_count",
        +  "truncated",
        +  "closures"
        +]
    • Changedcompany_fr_compare1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "companies",
        -  "comparability",
        -  "rankings",
        -  "limitations"
        -]New value: +[
        +  "companies",
        +  "comparability",
        +  "rankings"
        +]
    • Changedcompany_fr_compliance1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "identifier_type",
        -  "exists",
        -  "siren",
        -  "name",
        -  "company_status",
        -  "domain",
        -  "status",
        -  "checked_at",
        -  "checks",
        -  "matches",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "identifier_type",
        +  "exists",
        +  "siren",
        +  "name",
        +  "company_status",
        +  "domain",
        +  "status",
        +  "checked_at",
        +  "checks",
        +  "matches"
        +]
    • Changedcompany_fr_default_score1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "identifier_type",
        -  "exists",
        -  "siren",
        -  "name",
        -  "score",
        -  "level",
        -  "confidence",
        -  "components",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "identifier_type",
        +  "exists",
        +  "siren",
        +  "name",
        +  "score",
        +  "level",
        +  "confidence",
        +  "components"
        +]
    • Changedcompany_fr_director_mandates1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "last_name",
        -  "first_names",
        -  "page",
        -  "limit",
        -  "total_companies",
        -  "returned_mandates",
        -  "mandates",
        -  "limitations"
        -]New value: +[
        +  "last_name",
        +  "first_names",
        +  "page",
        +  "limit",
        +  "total_companies",
        +  "returned_mandates",
        +  "mandates"
        +]
    • Changedcompany_fr_e_invoice1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "company_category",
        -  "vat_number",
        -  "headquarters_siret",
        -  "headquarters_address",
        -  "receiving_obligation_from",
        -  "issuing_obligation_from",
        -  "establishment_scope",
        -  "prepared_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "company_category",
        +  "vat_number",
        +  "headquarters_siret",
        +  "headquarters_address",
        +  "receiving_obligation_from",
        +  "issuing_obligation_from",
        +  "establishment_scope",
        +  "prepared_at"
        +]
    • Changedcompany_fr_industrial_risk1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "headquarters_commune_code",
        -  "source_status",
        -  "establishments_total",
        -  "establishments_scanned",
        -  "communes_total",
        -  "communes_scanned",
        -  "installation_count",
        -  "installations",
        -  "coverage_complete",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "headquarters_commune_code",
        +  "source_status",
        +  "establishments_total",
        +  "establishments_scanned",
        +  "communes_total",
        +  "communes_scanned",
        +  "installation_count",
        +  "installations",
        +  "coverage_complete",
        +  "checked_at"
        +]
    • Changedcompany_fr_invoice_check1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "expected_vat_number",
        -  "supplied_vat_number",
        -  "format_match",
        -  "vies_status",
        -  "vies_valid",
        -  "vies_name",
        -  "verdict",
        -  "invoice_validation",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "expected_vat_number",
        +  "supplied_vat_number",
        +  "format_match",
        +  "vies_status",
        +  "vies_valid",
        +  "vies_name",
        +  "verdict",
        +  "invoice_validation",
        +  "checked_at"
        +]
    • Changedcompany_fr_kyb1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "identifier_type",
        -  "exists",
        -  "siren",
        -  "name",
        -  "checked_at",
        -  "sections",
        -  "coverage",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "identifier_type",
        +  "exists",
        +  "siren",
        +  "name",
        +  "checked_at",
        +  "sections",
        +  "coverage"
        +]
    • Changedcompany_fr_kyb_batch1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "requested_count",
        -  "completed_count",
        -  "failed_count",
        -  "results",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "requested_count",
        +  "completed_count",
        +  "failed_count",
        +  "results",
        +  "checked_at"
        +]
    • Changedcompany_fr_lobbying1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "source_status",
        -  "registered",
        -  "declared_name",
        -  "registration_date",
        -  "activity_topics",
        -  "domains",
        -  "clients",
        -  "source_json_url",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "source_status",
        +  "registered",
        +  "declared_name",
        +  "registration_date",
        +  "activity_topics",
        +  "domains",
        +  "clients",
        +  "source_json_url",
        +  "checked_at"
        +]
    • Changedcompany_fr_opportunities1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "identifier_type",
        -  "exists",
        -  "siren",
        -  "name",
        -  "company_status",
        -  "project",
        -  "total_candidates",
        -  "returned_count",
        -  "truncated",
        -  "opportunities",
        -  "coverage",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "identifier_type",
        +  "exists",
        +  "siren",
        +  "name",
        +  "company_status",
        +  "project",
        +  "total_candidates",
        +  "returned_count",
        +  "truncated",
        +  "opportunities",
        +  "coverage"
        +]
    • Changedcompany_fr_payment_context1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "identifier_type",
        -  "exists",
        -  "siren",
        -  "name",
        -  "company_status",
        -  "legal_risk",
        -  "compliance_status",
        -  "public_alerts_found",
        -  "collective_procedure_events",
        -  "radiation_events",
        -  "latest_relevant_event",
        -  "checked_at",
        -  "coverage",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "identifier_type",
        +  "exists",
        +  "siren",
        +  "name",
        +  "company_status",
        +  "legal_risk",
        +  "compliance_status",
        +  "public_alerts_found",
        +  "collective_procedure_events",
        +  "radiation_events",
        +  "latest_relevant_event",
        +  "checked_at",
        +  "coverage"
        +]
    • Changedcompany_fr_peers1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "scope",
        -  "criteria",
        -  "peers",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "scope",
        +  "criteria",
        +  "peers"
        +]
    • Changedcompany_fr_public_contracts_eu1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "source_status",
        -  "search_query",
        -  "returned_count",
        -  "notices",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "source_status",
        +  "search_query",
        +  "returned_count",
        +  "notices",
        +  "checked_at"
        +]
    • Changedcompany_fr_regulator_alerts1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "status",
        -  "amf_match_count",
        -  "amf_matches",
        -  "regafi_regulated",
        -  "regafi_approval_count",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "status",
        +  "amf_match_count",
        +  "amf_matches",
        +  "regafi_regulated",
        +  "regafi_approval_count",
        +  "checked_at"
        +]
    • Changedcompany_fr_regulatory_approvals1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "source_status",
        -  "regulated",
        -  "approval_count",
        -  "approvals",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "source_status",
        +  "regulated",
        +  "approval_count",
        +  "approvals",
        +  "checked_at"
        +]
    • Changedcompany_fr_report1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "language",
        -  "filename",
        -  "mime_type",
        -  "bytes",
        -  "sha256",
        -  "pdf_base64",
        -  "sections",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "language",
        +  "filename",
        +  "mime_type",
        +  "bytes",
        +  "sha256",
        +  "pdf_base64",
        +  "sections",
        +  "generated_at"
        +]
    • Changedcompany_fr_risk_reading1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "language",
        -  "verdict",
        -  "score",
        -  "confidence",
        -  "narrative",
        -  "strengths",
        -  "alerts",
        -  "evidence",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "language",
        +  "verdict",
        +  "score",
        +  "confidence",
        +  "narrative",
        +  "strengths",
        +  "alerts",
        +  "evidence",
        +  "generated_at"
        +]
    • Changedcompany_fr_sector_statistics1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "activity_code",
        -  "department",
        -  "region",
        -  "total_active",
        -  "total_active_is_exact",
        -  "sampled_count",
        -  "sample_limit",
        -  "sample_coverage_percent",
        -  "age_years",
        -  "employee_band_distribution",
        -  "financial_sample_count",
        -  "median_revenue",
        -  "median_net_income",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "activity_code",
        +  "department",
        +  "region",
        +  "total_active",
        +  "total_active_is_exact",
        +  "sampled_count",
        +  "sample_limit",
        +  "sample_coverage_percent",
        +  "age_years",
        +  "employee_band_distribution",
        +  "financial_sample_count",
        +  "median_revenue",
        +  "median_net_income",
        +  "generated_at"
        +]
    • Changedcompany_fr_successions1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "siret",
        -  "siren",
        -  "predecessors_count",
        -  "successors_count",
        -  "predecessors_returned_count",
        -  "successors_returned_count",
        -  "predecessors_cursor",
        -  "successors_cursor",
        -  "predecessors_next_cursor",
        -  "successors_next_cursor",
        -  "predecessors_truncated",
        -  "successors_truncated",
        -  "predecessors",
        -  "successors",
        -  "limitations"
        -]New value: +[
        +  "siret",
        +  "siren",
        +  "predecessors_count",
        +  "successors_count",
        +  "predecessors_returned_count",
        +  "successors_returned_count",
        +  "predecessors_cursor",
        +  "successors_cursor",
        +  "predecessors_next_cursor",
        +  "successors_next_cursor",
        +  "predecessors_truncated",
        +  "successors_truncated",
        +  "predecessors",
        +  "successors"
        +]
    • Changedcompany_fr_supplier_verification1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "siren",
        -  "name",
        -  "verdict",
        -  "checks",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "siren",
        +  "name",
        +  "verdict",
        +  "checks",
        +  "checked_at"
        +]
    • Changedcompliance_name_screen1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "name",
        -  "threshold",
        -  "status",
        -  "match_count",
        -  "matches",
        -  "sources",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "name",
        +  "threshold",
        +  "status",
        +  "match_count",
        +  "matches",
        +  "sources",
        +  "checked_at"
        +]
    • Changediban_validate1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "iban",
        -  "country_code",
        -  "structure_valid",
        -  "checksum_valid",
        -  "valid",
        -  "expected_length",
        -  "bank_code",
        -  "branch_code",
        -  "account_number",
        -  "rib_key",
        -  "bic",
        -  "bank_name",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "iban",
        +  "country_code",
        +  "structure_valid",
        +  "checksum_valid",
        +  "valid",
        +  "expected_length",
        +  "bank_code",
        +  "branch_code",
        +  "account_number",
        +  "rib_key",
        +  "bic",
        +  "bank_name",
        +  "checked_at"
        +]
    • Changedprocurement_fr_awards1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "filters",
        -  "source_status",
        -  "total_count",
        -  "returned_count",
        -  "truncated",
        -  "awards",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "filters",
        +  "source_status",
        +  "total_count",
        +  "returned_count",
        +  "truncated",
        +  "awards",
        +  "generated_at"
        +]
    • Changedprocurement_fr_buyer_profile1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "source_status",
        -  "buyer_siret",
        -  "buyer_name",
        -  "total_count",
        -  "sampled_count",
        -  "sampled_amount",
        -  "latest_notification_date",
        -  "by_year",
        -  "top_cpv",
        -  "top_suppliers",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "query",
        +  "source_status",
        +  "buyer_siret",
        +  "buyer_name",
        +  "total_count",
        +  "sampled_count",
        +  "sampled_amount",
        +  "latest_notification_date",
        +  "by_year",
        +  "top_cpv",
        +  "top_suppliers",
        +  "generated_at"
        +]
    • Changedprocurement_fr_deadlines1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "cpv_prefix",
        -  "department",
        -  "min_months",
        -  "max_months",
        -  "source_status",
        -  "returned_count",
        -  "contracts",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "cpv_prefix",
        +  "department",
        +  "min_months",
        +  "max_months",
        +  "source_status",
        +  "returned_count",
        +  "contracts",
        +  "generated_at"
        +]
    • Changedprocurement_fr_market1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "filters",
        -  "lookback_months",
        -  "source_status",
        -  "summary",
        -  "top_buyers",
        -  "top_cpv",
        -  "top_suppliers_in_latest_sample",
        -  "supplier_sampled_count",
        -  "supplier_sample_coverage_percent",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "filters",
        +  "lookback_months",
        +  "source_status",
        +  "summary",
        +  "top_buyers",
        +  "top_cpv",
        +  "top_suppliers_in_latest_sample",
        +  "supplier_sampled_count",
        +  "supplier_sample_coverage_percent",
        +  "generated_at"
        +]
    • Changedprocurement_fr_trends1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "filters",
        -  "lookback_months",
        -  "granularity",
        -  "source_status",
        -  "periods_count",
        -  "latest_period_contracts_change_percent",
        -  "series",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "filters",
        +  "lookback_months",
        +  "granularity",
        +  "source_status",
        +  "periods_count",
        +  "latest_period_contracts_change_percent",
        +  "series",
        +  "generated_at"
        +]
    • Changedreal_estate_fr_dpe1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "location",
        -  "source_status",
        -  "total_count",
        -  "returned_count",
        -  "truncated",
        -  "dpe",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "location",
        +  "source_status",
        +  "total_count",
        +  "returned_count",
        +  "truncated",
        +  "dpe",
        +  "generated_at"
        +]
    • Changedreal_estate_fr_market1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "location",
        -  "coverage_scope",
        -  "radius_m",
        -  "property_type",
        -  "lookback_years",
        -  "source_status",
        -  "source_total_count",
        -  "sampled_count",
        -  "sample_truncated",
        -  "summary",
        -  "yearly",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "location",
        +  "coverage_scope",
        +  "radius_m",
        +  "property_type",
        +  "lookback_years",
        +  "source_status",
        +  "source_total_count",
        +  "sampled_count",
        +  "sample_truncated",
        +  "summary",
        +  "yearly",
        +  "generated_at"
        +]
    • Changedreal_estate_fr_parcel1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "location",
        -  "source_status",
        -  "total_count",
        -  "parcels",
        -  "bbox",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "location",
        +  "source_status",
        +  "total_count",
        +  "parcels",
        +  "bbox",
        +  "generated_at"
        +]
    • Changedreal_estate_fr_risks1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "location",
        -  "scope",
        -  "source_status",
        -  "risk_count",
        -  "risks",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "location",
        +  "scope",
        +  "source_status",
        +  "risk_count",
        +  "risks",
        +  "generated_at"
        +]
    • Changedreal_estate_fr_transactions1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "location",
        -  "coverage_scope",
        -  "radius_m",
        -  "property_type",
        -  "source_status",
        -  "source_total_count",
        -  "returned_count",
        -  "truncated",
        -  "transactions",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "location",
        +  "coverage_scope",
        +  "radius_m",
        +  "property_type",
        +  "source_status",
        +  "source_total_count",
        +  "returned_count",
        +  "truncated",
        +  "transactions",
        +  "generated_at"
        +]
    • Changedreal_estate_fr_valuation1 field changed
      • changedOutput schema / required
        Previous value: -[
        -  "location",
        -  "property_type",
        -  "surface_m2",
        -  "radius_m",
        -  "lookback_years",
        -  "source_status",
        -  "source_total_count",
        -  "source_truncated",
        -  "comparable_count",
        -  "median_price_per_m2",
        -  "p25_price_per_m2",
        -  "p75_price_per_m2",
        -  "estimated_value",
        -  "estimated_range_low",
        -  "estimated_range_high",
        -  "confidence",
        -  "comparables",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "location",
        +  "property_type",
        +  "surface_m2",
        +  "radius_m",
        +  "lookback_years",
        +  "source_status",
        +  "source_total_count",
        +  "source_truncated",
        +  "comparable_count",
        +  "median_price_per_m2",
        +  "p25_price_per_m2",
        +  "p75_price_per_m2",
        +  "estimated_value",
        +  "estimated_range_low",
        +  "estimated_range_high",
        +  "confidence",
        +  "comparables",
        +  "generated_at"
        +]
  3. 6 tool updates
    • Addedreal_estate_fr_dpe
    • Addedreal_estate_fr_market
    • Addedreal_estate_fr_parcel
    • Addedreal_estate_fr_risks
    • Addedreal_estate_fr_transactions
    • Addedreal_estate_fr_valuation
  4. 4 tool updates
    • Changeddescribe_api1 field changed
      • changedInput schema / properties / endpoint / enum
        Previous value: -[
        -  "company/fr/aids",
        -  "company/fr/benchmark",
        -  "company/fr/certifications",
        -  "company/fr/changes",
        -  "company/fr/closures",
        -  "company/fr/compare",
        -  "company/fr/competitors",
        -  "company/fr/compliance",
        -  "company/fr/default-score",
        -  "company/fr/director-mandates",
        -  "company/fr/directors",
        -  "company/fr/e-invoice",
        -  "company/fr/establishments",
        -  "company/fr/events",
        -  "company/fr/financials",
        -  "company/fr/history",
        -  "company/fr/industrial-risk",
        -  "company/fr/intelligence",
        -  "company/fr/invoice-check",
        -  "company/fr/kyb",
        -  "company/fr/kyb-batch",
        -  "company/fr/legal-announcements-search",
        -  "company/fr/legal-announcements-since",
        -  "company/fr/lobbying",
        -  "company/fr/nearby",
        -  "company/fr/new",
        -  "company/fr/opportunities",
        -  "company/fr/payment-context",
        -  "company/fr/peers",
        -  "company/fr/profile",
        -  "company/fr/prospecting",
        -  "company/fr/public-contract-competitors",
        -  "company/fr/public-contracts",
        -  "company/fr/public-contracts-eu",
        -  "company/fr/regulator-alerts",
        -  "company/fr/regulatory-approvals",
        -  "company/fr/report",
        -  "company/fr/risk",
        -  "company/fr/risk-reading",
        -  "company/fr/search",
        -  "company/fr/sector-statistics",
        -  "company/fr/signals",
        -  "company/fr/successions",
        -  "company/fr/supplier-verification",
        -  "company/fr/verify",
        -  "compliance/name-screen",
        -  "iban/validate",
        -  "procurement/fr/buyer-profile",
        -  "procurement/fr/deadlines",
        -  "procurement/fr/search",
        -  "vat/eu/validate"
        -]New value: +[
        +  "company/fr/aids",
        +  "company/fr/benchmark",
        +  "company/fr/certifications",
        +  "company/fr/changes",
        +  "company/fr/closures",
        +  "company/fr/compare",
        +  "company/fr/competitors",
        +  "company/fr/compliance",
        +  "company/fr/default-score",
        +  "company/fr/director-mandates",
        +  "company/fr/directors",
        +  "company/fr/e-invoice",
        +  "company/fr/establishments",
        +  "company/fr/events",
        +  "company/fr/financials",
        +  "company/fr/history",
        +  "company/fr/industrial-risk",
        +  "company/fr/intelligence",
        +  "company/fr/invoice-check",
        +  "company/fr/kyb",
        +  "company/fr/kyb-batch",
        +  "company/fr/legal-announcements-search",
        +  "company/fr/legal-announcements-since",
        +  "company/fr/lobbying",
        +  "company/fr/nearby",
        +  "company/fr/new",
        +  "company/fr/opportunities",
        +  "company/fr/payment-context",
        +  "company/fr/peers",
        +  "company/fr/profile",
        +  "company/fr/prospecting",
        +  "company/fr/public-contract-competitors",
        +  "company/fr/public-contracts",
        +  "company/fr/public-contracts-eu",
        +  "company/fr/regulator-alerts",
        +  "company/fr/regulatory-approvals",
        +  "company/fr/report",
        +  "company/fr/risk",
        +  "company/fr/risk-reading",
        +  "company/fr/search",
        +  "company/fr/sector-statistics",
        +  "company/fr/signals",
        +  "company/fr/successions",
        +  "company/fr/supplier-verification",
        +  "company/fr/verify",
        +  "compliance/name-screen",
        +  "iban/validate",
        +  "procurement/fr/awards",
        +  "procurement/fr/buyer-profile",
        +  "procurement/fr/deadlines",
        +  "procurement/fr/market",
        +  "procurement/fr/search",
        +  "procurement/fr/trends",
        +  "vat/eu/validate"
        +]
    • Addedprocurement_fr_awards
    • Addedprocurement_fr_market
    • Addedprocurement_fr_trends
  5. 4 tool updates
    • Changedcompany_fr_industrial_risk7 fields changed
      • addedOutput schema / properties / communes_scanned
        Added value: +{
        +  "description": "Structured value returned for “communes scanned” as defined by this API contract.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / communes_total
        Added value: +{
        +  "description": "Structured value returned for “communes total” as defined by this API contract.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / establishments_scanned
        Added value: +{
        +  "description": "Structured value returned for “establishments scanned” as defined by this API contract.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / establishments_total
        Added value: +{
        +  "description": "Structured value returned for “establishments total” as defined by this API contract.",
        +  "type": [
        +    "integer",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / source_status / description
        Previous value: -"Availability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried)."New value: +"Availability status of the relevant upstream public source. (allowed values: ok, partial, unavailable, not_queried)."
      • changedOutput schema / properties / source_status / enum
        Previous value: -[
        -  "ok",
        -  "unavailable",
        -  "not_queried"
        -]New value: +[
        +  "ok",
        +  "partial",
        +  "unavailable",
        +  "not_queried"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "headquarters_commune_code",
        -  "source_status",
        -  "installation_count",
        -  "installations",
        -  "coverage_complete",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "headquarters_commune_code",
        +  "source_status",
        +  "establishments_total",
        +  "establishments_scanned",
        +  "communes_total",
        +  "communes_scanned",
        +  "installation_count",
        +  "installations",
        +  "coverage_complete",
        +  "checked_at",
        +  "limitations"
        +]
    • Changedcompany_fr_invoice_check3 fields changed
      • addedInput schema / properties / invoice
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional value for “invoice” as defined by this API contract.",
        +  "properties": {
        +    "currency": {
        +      "description": "Optional value for “currency” as defined by this API contract.",
        +      "pattern": "^[A-Z]{3}$",
        +      "type": "string"
        +    },
        +    "date": {
        +      "description": "Optional value for “date” as defined by this API contract.",
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "number": {
        +      "description": "Identifier body used together with the supplied country code. (minimum length 1).",
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "subtotal": {
        +      "description": "Optional value for “subtotal” as defined by this API contract. (minimum 0).",
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "supplier_name": {
        +      "description": "Optional value for “supplier name” as defined by this API contract.",
        +      "type": "string"
        +    },
        +    "total": {
        +      "description": "Optional value for “total” as defined by this API contract. (minimum 0).",
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "vat_amount": {
        +      "description": "Optional value for “vat amount” as defined by this API contract. (minimum 0).",
        +      "minimum": 0,
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / invoice_validation
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Structured value returned for “invoice validation” as defined by this API contract.",
        +  "properties": {
        +    "arithmetic_consistent": {
        +      "description": "Structured value returned for “arithmetic consistent” as defined by this API contract.",
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "invoice_date_valid": {
        +      "description": "Structured value returned for “invoice date valid” as defined by this API contract.",
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "issues": {
        +      "description": "Structured value returned for “issues” as defined by this API contract.",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "code": {
        +            "description": "Structured value returned for “code” as defined by this API contract.",
        +            "type": "string"
        +          },
        +          "severity": {
        +            "description": "Structured value returned for “severity” as defined by this API contract. (allowed values: warning, error).",
        +            "enum": [
        +              "warning",
        +              "error"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "code",
        +          "severity"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "provided": {
        +      "description": "Structured value returned for “provided” as defined by this API contract.",
        +      "type": "boolean"
        +    },
        +    "supplier_name_match": {
        +      "description": "Structured value returned for “supplier name match” as defined by this API contract.",
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "verdict": {
        +      "description": "Normalized endpoint conclusion derived from the checked public data. (allowed values: not_checked, coherent, incomplete, incoherent).",
        +      "enum": [
        +        "not_checked",
        +        "coherent",
        +        "incomplete",
        +        "incoherent"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "provided",
        +    "verdict",
        +    "arithmetic_consistent",
        +    "supplier_name_match",
        +    "invoice_date_valid",
        +    "issues"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "identifier",
        -  "exists",
        -  "siren",
        -  "name",
        -  "expected_vat_number",
        -  "supplied_vat_number",
        -  "format_match",
        -  "vies_status",
        -  "vies_valid",
        -  "vies_name",
        -  "verdict",
        -  "checked_at",
        -  "limitations"
        -]New value: +[
        +  "identifier",
        +  "exists",
        +  "siren",
        +  "name",
        +  "expected_vat_number",
        +  "supplied_vat_number",
        +  "format_match",
        +  "vies_status",
        +  "vies_valid",
        +  "vies_name",
        +  "verdict",
        +  "invoice_validation",
        +  "checked_at",
        +  "limitations"
        +]
    • Changedcompany_fr_sector_statistics4 fields changed
      • addedOutput schema / properties / sample_coverage_percent
        Added value: +{
        +  "description": "Structured value returned for “sample coverage percent” as defined by this API contract.",
        +  "type": "number"
        +}
      • addedOutput schema / properties / sample_limit
        Added value: +{
        +  "description": "Structured value returned for “sample limit” as defined by this API contract.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / total_active_is_exact
        Added value: +{
        +  "description": "Structured value returned for “total active is exact” as defined by this API contract.",
        +  "type": "boolean"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "activity_code",
        -  "department",
        -  "region",
        -  "total_active",
        -  "sampled_count",
        -  "age_years",
        -  "employee_band_distribution",
        -  "financial_sample_count",
        -  "median_revenue",
        -  "median_net_income",
        -  "generated_at",
        -  "limitations"
        -]New value: +[
        +  "activity_code",
        +  "department",
        +  "region",
        +  "total_active",
        +  "total_active_is_exact",
        +  "sampled_count",
        +  "sample_limit",
        +  "sample_coverage_percent",
        +  "age_years",
        +  "employee_band_distribution",
        +  "financial_sample_count",
        +  "median_revenue",
        +  "median_net_income",
        +  "generated_at",
        +  "limitations"
        +]
    • Changedprocurement_fr_deadlines8 fields changed
      • addedOutput schema / properties / contracts / items / properties / duration_source
        Added value: +{
        +  "description": "Structured value returned for “duration source” as defined by this API contract. (allowed values: decp_initial, decp_modification).",
        +  "enum": [
        +    "decp_initial",
        +    "decp_modification"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / contracts / items / properties / effective_duration_months
        Added value: +{
        +  "description": "Structured value returned for “effective duration months” as defined by this API contract.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / contracts / items / properties / estimated_end_confidence
        Added value: +{
        +  "description": "Structured value returned for “estimated end confidence” as defined by this API contract. (allowed values: low, medium, high).",
        +  "enum": [
        +    "low",
        +    "medium",
        +    "high"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / contracts / items / properties / modification_date
        Added value: +{
        +  "description": "Structured value returned for “modification date” as defined by this API contract.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / contracts / items / properties / modification_detected
        Added value: +{
        +  "description": "Structured value returned for “modification detected” as defined by this API contract.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / contracts / items / properties / modification_id
        Added value: +{
        +  "description": "Structured value returned for “modification id” as defined by this API contract.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / contracts / items / properties / modification_object
        Added value: +{
        +  "description": "Structured value returned for “modification object” as defined by this API contract.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / contracts / items / required
        Previous value: -[
        -  "contract_id",
        -  "object",
        -  "cpv",
        -  "buyer_siret",
        -  "buyer_name",
        -  "holder_sirets",
        -  "amount",
        -  "notification_date",
        -  "duration_months",
        -  "estimated_end_date",
        -  "months_until_end",
        -  "execution_location"
        -]New value: +[
        +  "contract_id",
        +  "object",
        +  "cpv",
        +  "buyer_siret",
        +  "buyer_name",
        +  "holder_sirets",
        +  "amount",
        +  "notification_date",
        +  "duration_months",
        +  "effective_duration_months",
        +  "duration_source",
        +  "modification_detected",
        +  "modification_id",
        +  "modification_date",
        +  "modification_object",
        +  "estimated_end_date",
        +  "estimated_end_confidence",
        +  "months_until_end",
        +  "execution_location"
        +]
  6. 7 tool updates
    • Addedcompany_fr_changes
    • Addedcompany_fr_closures
    • Addedcompany_fr_establishments
    • Addedcompany_fr_history
    • Addedcompany_fr_new
    • Addedcompany_fr_successions
    • Changeddescribe_api1 field changed
      • changedInput schema / properties / endpoint / enum
        Previous value: -[
        -  "company/fr/aids",
        -  "company/fr/benchmark",
        -  "company/fr/certifications",
        -  "company/fr/compare",
        -  "company/fr/competitors",
        -  "company/fr/compliance",
        -  "company/fr/default-score",
        -  "company/fr/director-mandates",
        -  "company/fr/directors",
        -  "company/fr/e-invoice",
        -  "company/fr/events",
        -  "company/fr/financials",
        -  "company/fr/industrial-risk",
        -  "company/fr/intelligence",
        -  "company/fr/invoice-check",
        -  "company/fr/kyb",
        -  "company/fr/kyb-batch",
        -  "company/fr/legal-announcements-search",
        -  "company/fr/legal-announcements-since",
        -  "company/fr/lobbying",
        -  "company/fr/nearby",
        -  "company/fr/opportunities",
        -  "company/fr/payment-context",
        -  "company/fr/peers",
        -  "company/fr/profile",
        -  "company/fr/prospecting",
        -  "company/fr/public-contract-competitors",
        -  "company/fr/public-contracts",
        -  "company/fr/public-contracts-eu",
        -  "company/fr/regulator-alerts",
        -  "company/fr/regulatory-approvals",
        -  "company/fr/report",
        -  "company/fr/risk",
        -  "company/fr/risk-reading",
        -  "company/fr/search",
        -  "company/fr/sector-statistics",
        -  "company/fr/signals",
        -  "company/fr/supplier-verification",
        -  "company/fr/verify",
        -  "compliance/name-screen",
        -  "iban/validate",
        -  "procurement/fr/buyer-profile",
        -  "procurement/fr/deadlines",
        -  "procurement/fr/search",
        -  "vat/eu/validate"
        -]New value: +[
        +  "company/fr/aids",
        +  "company/fr/benchmark",
        +  "company/fr/certifications",
        +  "company/fr/changes",
        +  "company/fr/closures",
        +  "company/fr/compare",
        +  "company/fr/competitors",
        +  "company/fr/compliance",
        +  "company/fr/default-score",
        +  "company/fr/director-mandates",
        +  "company/fr/directors",
        +  "company/fr/e-invoice",
        +  "company/fr/establishments",
        +  "company/fr/events",
        +  "company/fr/financials",
        +  "company/fr/history",
        +  "company/fr/industrial-risk",
        +  "company/fr/intelligence",
        +  "company/fr/invoice-check",
        +  "company/fr/kyb",
        +  "company/fr/kyb-batch",
        +  "company/fr/legal-announcements-search",
        +  "company/fr/legal-announcements-since",
        +  "company/fr/lobbying",
        +  "company/fr/nearby",
        +  "company/fr/new",
        +  "company/fr/opportunities",
        +  "company/fr/payment-context",
        +  "company/fr/peers",
        +  "company/fr/profile",
        +  "company/fr/prospecting",
        +  "company/fr/public-contract-competitors",
        +  "company/fr/public-contracts",
        +  "company/fr/public-contracts-eu",
        +  "company/fr/regulator-alerts",
        +  "company/fr/regulatory-approvals",
        +  "company/fr/report",
        +  "company/fr/risk",
        +  "company/fr/risk-reading",
        +  "company/fr/search",
        +  "company/fr/sector-statistics",
        +  "company/fr/signals",
        +  "company/fr/successions",
        +  "company/fr/supplier-verification",
        +  "company/fr/verify",
        +  "compliance/name-screen",
        +  "iban/validate",
        +  "procurement/fr/buyer-profile",
        +  "procurement/fr/deadlines",
        +  "procurement/fr/search",
        +  "vat/eu/validate"
        +]
  7. 1 tool update
    • Changeddescribe_api2 fields changed
      • changedInput schema / properties / endpoint / description
        Previous value: -"Canonical published endpoint slug such as company/fr/profile. Hostnames, API version prefixes, query strings and leading slashes are not accepted."New value: +"Canonical published HelpMyAgent endpoint slug. Accepted values are restricted to the live published catalogue."
      • addedInput schema / properties / endpoint / enum
        Added value: +[
        +  "company/fr/aids",
        +  "company/fr/benchmark",
        +  "company/fr/certifications",
        +  "company/fr/compare",
        +  "company/fr/competitors",
        +  "company/fr/compliance",
        +  "company/fr/default-score",
        +  "company/fr/director-mandates",
        +  "company/fr/directors",
        +  "company/fr/e-invoice",
        +  "company/fr/events",
        +  "company/fr/financials",
        +  "company/fr/industrial-risk",
        +  "company/fr/intelligence",
        +  "company/fr/invoice-check",
        +  "company/fr/kyb",
        +  "company/fr/kyb-batch",
        +  "company/fr/legal-announcements-search",
        +  "company/fr/legal-announcements-since",
        +  "company/fr/lobbying",
        +  "company/fr/nearby",
        +  "company/fr/opportunities",
        +  "company/fr/payment-context",
        +  "company/fr/peers",
        +  "company/fr/profile",
        +  "company/fr/prospecting",
        +  "company/fr/public-contract-competitors",
        +  "company/fr/public-contracts",
        +  "company/fr/public-contracts-eu",
        +  "company/fr/regulator-alerts",
        +  "company/fr/regulatory-approvals",
        +  "company/fr/report",
        +  "company/fr/risk",
        +  "company/fr/risk-reading",
        +  "company/fr/search",
        +  "company/fr/sector-statistics",
        +  "company/fr/signals",
        +  "company/fr/supplier-verification",
        +  "company/fr/verify",
        +  "compliance/name-screen",
        +  "iban/validate",
        +  "procurement/fr/buyer-profile",
        +  "procurement/fr/deadlines",
        +  "procurement/fr/search",
        +  "vat/eu/validate"
        +]
  8. 2 tool updates
    • Changeddescribe_api3 fields changed
      • changedInput schema / properties / endpoint / description
        Previous value: -"Canonical endpoint slug exactly as returned by search_apis, for example company/fr/profile. Do not include a hostname, API version prefix, query string or leading slash."New value: +"Canonical published endpoint slug such as company/fr/profile. Hostnames, API version prefixes, query strings and leading slashes are not accepted."
      • addedInput schema / properties / endpoint / maxLength
        Added value: +128
      • addedInput schema / properties / endpoint / pattern
        Added value: +"^[a-z0-9]+(?:/[a-z0-9][a-z0-9_-]*)+$"
    • Changedsearch_apis1 field changed
      • changedInput schema / properties / category / description
        Previous value: -"Optional exact category slug returned by list_categories; when supplied, only APIs in that category are considered."New value: +"Optional exact published category slug; when supplied, only APIs in that category are considered."
  9. 47 tool updates
    • Changedcompany_fr_aids42 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/aids API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/aids API."
      • addedOutput schema / properties / aids / description
        Added value: +"Ranked public funding schemes returned by the endpoint."
      • addedOutput schema / properties / aids / items / properties / amount / description
        Added value: +"Structured value returned for “amount” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / application_links / description
        Added value: +"Structured value returned for “application links” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / beneficiaries / description
        Added value: +"Structured value returned for “beneficiaries” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / conditions / description
        Added value: +"Structured value returned for “conditions” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / contacts / description
        Added value: +"Structured value returned for “contacts” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / id / description
        Added value: +"Structured value returned for “id” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / description
        Added value: +"Structured value returned for “match” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / properties / matched_profile / description
        Added value: +"Structured value returned for “matched profile” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / properties / matched_project / description
        Added value: +"Structured value returned for “matched project” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / properties / matched_territory / description
        Added value: +"Structured value returned for “matched territory” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / properties / potentially_eligible / description
        Added value: +"Structured value returned for “potentially eligible” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / properties / reasons / description
        Added value: +"Structured value returned for “reasons” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / properties / score / description
        Added value: +"Normalized score produced by the endpoint; interpretation is defined by the tool description and limitations."
      • addedOutput schema / properties / aids / items / properties / match / properties / unknown_criteria / description
        Added value: +"Structured value returned for “unknown criteria” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / match / properties / verified_criteria / description
        Added value: +"Structured value returned for “verified criteria” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / aids / items / properties / natures / description
        Added value: +"Structured value returned for “natures” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / object / description
        Added value: +"Structured value returned for “object” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / operations / description
        Added value: +"Structured value returned for “operations” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / profiles / description
        Added value: +"Structured value returned for “profiles” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / projects / description
        Added value: +"Structured value returned for “projects” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / source_links / description
        Added value: +"Structured value returned for “source links” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / source_type / description
        Added value: +"Structured value returned for “source type” as defined by this API contract. (allowed values: SOURCE_PUBLIQUE)."
      • addedOutput schema / properties / aids / items / properties / territories / description
        Added value: +"Structured value returned for “territories” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / valid_until / description
        Added value: +"Structured value returned for “valid until” as defined by this API contract."
      • addedOutput schema / properties / aids / items / properties / validation_date / description
        Added value: +"Structured value returned for “validation date” as defined by this API contract."
      • addedOutput schema / properties / company_status / description
        Added value: +"Current public administrative company status when available."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / matching_context / description
        Added value: +"Structured value returned for “matching context” as defined by this API contract."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / source_total_count / description
        Added value: +"Structured value returned for “source total count” as defined by this API contract."
      • addedOutput schema / properties / total_candidates / description
        Added value: +"Structured value returned for “total candidates” as defined by this API contract."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedcompany_fr_benchmark14 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/benchmark API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / peer_limit / description
        Added value: +"Maximum number of comparable peer companies used by the benchmark. (minimum 2; maximum 10; default 5)."
      • addedInput schema / properties / scope / description
        Added value: +"Geographic comparison scope controlling whether candidates are selected by department, region or all of France. (default region; allowed values: department, region, france)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/benchmark API."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / metrics / description
        Added value: +"Structured value returned for “metrics” as defined by this API contract."
      • changedOutput schema / properties / name
        Previous value: -[]New value: +{
        +  "description": "Publicly available company, person, buyer or record name for this result."
        +}
      • addedOutput schema / properties / peer_count / description
        Added value: +"Structured value returned for “peer count” as defined by this API contract."
      • addedOutput schema / properties / peers / description
        Added value: +"Structured value returned for “peers” as defined by this API contract."
      • addedOutput schema / properties / scope / description
        Added value: +"Structured value returned for “scope” as defined by this API contract."
      • changedOutput schema / properties / siren
        Previous value: -[]New value: +{
        +  "description": "Normalized 9-digit French SIREN when available."
        +}
    • Changedcompany_fr_certifications28 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/certifications API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/certifications API."
      • addedOutput schema / properties / certifications / description
        Added value: +"Normalized public certification records returned by the endpoint."
      • addedOutput schema / properties / certifications / items / properties / certificate_url / description
        Added value: +"Structured value returned for “certificate url” as defined by this API contract."
      • addedOutput schema / properties / certifications / items / properties / code / description
        Added value: +"Structured value returned for “code” as defined by this API contract."
      • addedOutput schema / properties / certifications / items / properties / issuer / description
        Added value: +"Structured value returned for “issuer” as defined by this API contract."
      • addedOutput schema / properties / certifications / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / certifications / items / properties / scopes / description
        Added value: +"Structured value returned for “scopes” as defined by this API contract."
      • addedOutput schema / properties / certifications / items / properties / siret / description
        Added value: +"Normalized 14-digit French SIRET when available."
      • addedOutput schema / properties / certifications / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / certifications / items / properties / source_status / description
        Added value: +"Availability status of the relevant upstream public source."
      • addedOutput schema / properties / certifications / items / properties / source_type / description
        Added value: +"Structured value returned for “source type” as defined by this API contract. (allowed values: SOURCE_PUBLIQUE)."
      • addedOutput schema / properties / certifications / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / certifications / items / properties / type / description
        Added value: +"Structured value returned for “type” as defined by this API contract."
      • addedOutput schema / properties / certifications / items / properties / valid_from / description
        Added value: +"Structured value returned for “valid from” as defined by this API contract."
      • addedOutput schema / properties / certifications / items / properties / valid_until / description
        Added value: +"Structured value returned for “valid until” as defined by this API contract."
      • addedOutput schema / properties / certifications_count / description
        Added value: +"Structured value returned for “certifications count” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / sources / description
        Added value: +"Public data sources used or checked for this result."
      • addedOutput schema / properties / sources / items / properties / records / description
        Added value: +"Structured value returned for “records” as defined by this API contract."
      • addedOutput schema / properties / sources / items / properties / scope / description
        Added value: +"Structured value returned for “scope” as defined by this API contract."
      • addedOutput schema / properties / sources / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / sources / items / properties / source_type / description
        Added value: +"Structured value returned for “source type” as defined by this API contract."
      • addedOutput schema / properties / sources / items / properties / status / description
        Added value: +"Normalized endpoint or source status. (allowed values: ok, unavailable, not_queried)."
    • Changedcompany_fr_compare7 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/compare API."
      • addedInput schema / properties / identifiers / description
        Added value: +"List of French company identifiers to process; each item must be a 9-digit SIREN or 14-digit SIRET. (at least 2 items; at most 5 items)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/compare API."
      • addedOutput schema / properties / companies / description
        Added value: +"Structured company records returned by the endpoint."
      • addedOutput schema / properties / comparability / description
        Added value: +"Structured value returned for “comparability” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / rankings / description
        Added value: +"Structured value returned for “rankings” as defined by this API contract."
    • Changedcompany_fr_competitors13 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/competitors API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 25; default 10)."
      • addedInput schema / properties / scope / description
        Added value: +"Geographic comparison scope controlling whether candidates are selected by department, region or all of France. (default department; allowed values: department, region, france)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/competitors API."
      • addedOutput schema / properties / competitors / description
        Added value: +"Structured value returned for “competitors” as defined by this API contract."
      • addedOutput schema / properties / criteria / description
        Added value: +"Structured value returned for “criteria” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • changedOutput schema / properties / name
        Previous value: -[]New value: +{
        +  "description": "Publicly available company, person, buyer or record name for this result."
        +}
      • addedOutput schema / properties / scope / description
        Added value: +"Structured value returned for “scope” as defined by this API contract."
      • changedOutput schema / properties / siren
        Previous value: -[]New value: +{
        +  "description": "Normalized 9-digit French SIREN when available."
        +}
    • Changedcompany_fr_compliance30 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/compliance API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/compliance API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / checks / description
        Added value: +"Structured value returned for “checks” as defined by this API contract."
      • addedOutput schema / properties / checks / items / properties / check / description
        Added value: +"Structured value returned for “check” as defined by this API contract."
      • addedOutput schema / properties / checks / items / properties / limitation / description
        Added value: +"Structured value returned for “limitation” as defined by this API contract."
      • addedOutput schema / properties / checks / items / properties / match_count / description
        Added value: +"Number of candidate matches returned by the screening operation."
      • addedOutput schema / properties / checks / items / properties / publication_date / description
        Added value: +"Structured value returned for “publication date” as defined by this API contract."
      • addedOutput schema / properties / checks / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / checks / items / properties / source_records / description
        Added value: +"Structured value returned for “source records” as defined by this API contract."
      • addedOutput schema / properties / checks / items / properties / source_type / description
        Added value: +"Structured value returned for “source type” as defined by this API contract."
      • addedOutput schema / properties / checks / items / properties / status / description
        Added value: +"Normalized endpoint or source status. (allowed values: ok, unavailable, not_queried)."
      • addedOutput schema / properties / company_status / description
        Added value: +"Current public administrative company status when available."
      • addedOutput schema / properties / domain / description
        Added value: +"Structured value returned for “domain” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / matches / description
        Added value: +"Candidate public-list or source matches returned by the endpoint."
      • addedOutput schema / properties / matches / items / properties / check / description
        Added value: +"Structured value returned for “check” as defined by this API contract."
      • addedOutput schema / properties / matches / items / properties / confidence / description
        Added value: +"Confidence indicator associated with an inferred or derived result."
      • addedOutput schema / properties / matches / items / properties / match_method / description
        Added value: +"Structured value returned for “match method” as defined by this API contract."
      • addedOutput schema / properties / matches / items / properties / match_source_type / description
        Added value: +"Structured value returned for “match source type” as defined by this API contract. (allowed values: SOURCE_PUBLIQUE, INFERE)."
      • addedOutput schema / properties / matches / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / matches / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / matches / items / properties / source_type / description
        Added value: +"Structured value returned for “source type” as defined by this API contract."
      • addedOutput schema / properties / matches / items / properties / subject / description
        Added value: +"Structured value returned for “subject” as defined by this API contract. (allowed values: company_identity, domain_input)."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / status / description
        Added value: +"Normalized endpoint or source status. (allowed values: PUBLIC_ALERT_FOUND, NO_PUBLIC_ALERT_FOUND, INCOMPLETE, COMPANY_NOT_FOUND)."
    • Changedcompany_fr_default_score14 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/default-score API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/default-score API."
      • addedOutput schema / properties / components / description
        Added value: +"Structured value returned for “components” as defined by this API contract."
      • addedOutput schema / properties / confidence / description
        Added value: +"Confidence indicator associated with an inferred or derived result."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable."
      • changedOutput schema / properties / known_weight_percent
        Previous value: -[]New value: +{
        +  "description": "Structured value returned for “known weight percent” as defined by this API contract."
        +}
      • addedOutput schema / properties / level / description
        Added value: +"Structured value returned for “level” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • changedOutput schema / properties / name
        Previous value: -[]New value: +{
        +  "description": "Publicly available company, person, buyer or record name for this result."
        +}
      • changedOutput schema / properties / score
        Previous value: -[]New value: +{
        +  "description": "Normalized score produced by the endpoint; interpretation is defined by the tool description and limitations."
        +}
      • changedOutput schema / properties / siren
        Previous value: -[]New value: +{
        +  "description": "Normalized 9-digit French SIREN when available."
        +}
    • Changedcompany_fr_director_mandates14 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/director-mandates API."
      • addedInput schema / properties / first_names / description
        Added value: +"Optional first name or given names used to narrow director-mandate matches."
      • addedInput schema / properties / last_name / description
        Added value: +"Director family name to search in public French company mandates; name matching can include homonyms. (minimum length 2)."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 25; default 25)."
      • addedInput schema / properties / page / description
        Added value: +"One-based result page number. (minimum 1; default 1)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/director-mandates API."
      • changedOutput schema / properties / first_names
        Previous value: -[]New value: +{
        +  "description": "Structured value returned for “first names” as defined by this API contract."
        +}
      • addedOutput schema / properties / last_name / description
        Added value: +"Structured value returned for “last name” as defined by this API contract."
      • addedOutput schema / properties / limit / description
        Added value: +"Structured value returned for “limit” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / mandates / description
        Added value: +"Structured value returned for “mandates” as defined by this API contract."
      • addedOutput schema / properties / page / description
        Added value: +"Structured value returned for “page” as defined by this API contract."
      • addedOutput schema / properties / returned_mandates / description
        Added value: +"Structured value returned for “returned mandates” as defined by this API contract."
      • addedOutput schema / properties / total_companies / description
        Added value: +"Structured value returned for “total companies” as defined by this API contract."
    • Changedcompany_fr_directors14 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/directors API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/directors API."
      • addedOutput schema / properties / directors / description
        Added value: +"Publicly listed directors or legal representatives returned by the endpoint."
      • addedOutput schema / properties / directors / items / properties / birth_year / description
        Added value: +"Structured value returned for “birth year” as defined by this API contract."
      • addedOutput schema / properties / directors / items / properties / first_names / description
        Added value: +"Structured value returned for “first names” as defined by this API contract."
      • addedOutput schema / properties / directors / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / directors / items / properties / role / description
        Added value: +"Structured value returned for “role” as defined by this API contract."
      • addedOutput schema / properties / directors / items / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / directors / items / properties / type / description
        Added value: +"Structured value returned for “type” as defined by this API contract. (allowed values: person, company)."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
    • Changedcompany_fr_e_invoice16 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/e-invoice API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/e-invoice API."
      • addedOutput schema / properties / company_category / description
        Added value: +"Structured value returned for “company category” as defined by this API contract."
      • addedOutput schema / properties / establishment_scope / description
        Added value: +"Structured value returned for “establishment scope” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / headquarters_address / description
        Added value: +"Structured value returned for “headquarters address” as defined by this API contract."
      • addedOutput schema / properties / headquarters_siret / description
        Added value: +"Structured value returned for “headquarters siret” as defined by this API contract."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / issuing_obligation_from / description
        Added value: +"Structured value returned for “issuing obligation from” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / prepared_at / description
        Added value: +"Structured value returned for “prepared at” as defined by this API contract."
      • addedOutput schema / properties / receiving_obligation_from / description
        Added value: +"Structured value returned for “receiving obligation from” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / vat_number / description
        Added value: +"Structured value returned for “vat number” as defined by this API contract."
    • Changedcompany_fr_events24 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/events API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/events API."
      • addedOutput schema / properties / events / description
        Added value: +"Normalized public events returned by the endpoint."
      • addedOutput schema / properties / events / items / properties / city / description
        Added value: +"Structured value returned for “city” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / department / description
        Added value: +"Structured value returned for “department” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / event_date / description
        Added value: +"Structured value returned for “event date” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / family / description
        Added value: +"Structured value returned for “family” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / family_code / description
        Added value: +"Structured value returned for “family code” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / id / description
        Added value: +"Structured value returned for “id” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / notice_type / description
        Added value: +"Structured value returned for “notice type” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / publication_date / description
        Added value: +"Structured value returned for “publication date” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / title / description
        Added value: +"Structured value returned for “title” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / tribunal / description
        Added value: +"Structured value returned for “tribunal” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / type / description
        Added value: +"Structured value returned for “type” as defined by this API contract. (allowed values: collective_procedure, radiation, accounts_filing, act, modification, other)."
      • addedOutput schema / properties / events / items / properties / url / description
        Added value: +"Structured value returned for “url” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / latest_event / description
        Added value: +"Structured value returned for “latest event” as defined by this API contract."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of matching records reported by the source or endpoint."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedcompany_fr_financials20 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/financials API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/financials API."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / financials / description
        Added value: +"Normalized public financial-year records returned by the endpoint."
      • addedOutput schema / properties / financials / items / properties / net_income / description
        Added value: +"Structured value returned for “net income” as defined by this API contract."
      • addedOutput schema / properties / financials / items / properties / net_margin_percent / description
        Added value: +"Structured value returned for “net margin percent” as defined by this API contract."
      • addedOutput schema / properties / financials / items / properties / revenue / description
        Added value: +"Structured value returned for “revenue” as defined by this API contract."
      • addedOutput schema / properties / financials / items / properties / revenue_growth_percent / description
        Added value: +"Structured value returned for “revenue growth percent” as defined by this API contract."
      • addedOutput schema / properties / financials / items / properties / year / description
        Added value: +"Structured value returned for “year” as defined by this API contract."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / summary / description
        Added value: +"Compact derived summary of the returned records."
      • addedOutput schema / properties / summary / properties / latest_net_income / description
        Added value: +"Structured value returned for “latest net income” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / latest_net_margin_percent / description
        Added value: +"Structured value returned for “latest net margin percent” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / latest_revenue / description
        Added value: +"Structured value returned for “latest revenue” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / latest_revenue_growth_percent / description
        Added value: +"Structured value returned for “latest revenue growth percent” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / latest_year / description
        Added value: +"Structured value returned for “latest year” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / years_available / description
        Added value: +"Structured value returned for “years available” as defined by this API contract."
    • Changedcompany_fr_industrial_risk23 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/industrial-risk API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/industrial-risk API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / coverage_complete / description
        Added value: +"Whether the checked public-source coverage was sufficient for the endpoint’s stated scope."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / headquarters_commune_code / description
        Added value: +"Structured value returned for “headquarters commune code” as defined by this API contract."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / installation_count / description
        Added value: +"Structured value returned for “installation count” as defined by this API contract."
      • addedOutput schema / properties / installations / description
        Added value: +"Structured value returned for “installations” as defined by this API contract."
      • addedOutput schema / properties / installations / items / properties / address / description
        Added value: +"Structured value returned for “address” as defined by this API contract."
      • addedOutput schema / properties / installations / items / properties / city / description
        Added value: +"Structured value returned for “city” as defined by this API contract."
      • addedOutput schema / properties / installations / items / properties / code_aiot / description
        Added value: +"Structured value returned for “code aiot” as defined by this API contract."
      • addedOutput schema / properties / installations / items / properties / ied / description
        Added value: +"Structured value returned for “ied” as defined by this API contract."
      • addedOutput schema / properties / installations / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / installations / items / properties / regime / description
        Added value: +"Structured value returned for “regime” as defined by this API contract."
      • addedOutput schema / properties / installations / items / properties / seveso / description
        Added value: +"Structured value returned for “seveso” as defined by this API contract."
      • addedOutput schema / properties / installations / items / properties / siret / description
        Added value: +"Normalized 14-digit French SIRET when available."
      • addedOutput schema / properties / installations / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / source_status / description
        Added value: +"Availability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried)."
    • Changedcompany_fr_intelligence14 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/intelligence API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/intelligence API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / sections / additionalProperties / properties / data / description
        Added value: +"Structured value returned for “data” as defined by this API contract."
      • addedOutput schema / properties / sections / additionalProperties / properties / status / description
        Added value: +"Normalized endpoint or source status. (allowed values: ok, unavailable, not_available)."
      • addedOutput schema / properties / sections / description
        Added value: +"Named result sections produced by this aggregator."
      • addedOutput schema / properties / sections_available / description
        Added value: +"Structured value returned for “sections available” as defined by this API contract."
      • addedOutput schema / properties / sections_requested / description
        Added value: +"Structured value returned for “sections requested” as defined by this API contract."
      • addedOutput schema / properties / sections_unavailable / description
        Added value: +"Structured value returned for “sections unavailable” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
    • Changedcompany_fr_invoice_check17 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/invoice-check API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / vat_number / description
        Added value: +"Optional or required VAT identifier used by this validation or consistency check."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/invoice-check API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / expected_vat_number / description
        Added value: +"Structured value returned for “expected vat number” as defined by this API contract."
      • addedOutput schema / properties / format_match / description
        Added value: +"Structured value returned for “format match” as defined by this API contract."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / supplied_vat_number / description
        Added value: +"Structured value returned for “supplied vat number” as defined by this API contract."
      • addedOutput schema / properties / verdict / description
        Added value: +"Normalized endpoint conclusion derived from the checked public data."
      • addedOutput schema / properties / vies_name / description
        Added value: +"Structured value returned for “vies name” as defined by this API contract."
      • addedOutput schema / properties / vies_status / description
        Added value: +"Structured value returned for “vies status” as defined by this API contract."
      • addedOutput schema / properties / vies_valid / description
        Added value: +"Structured value returned for “vies valid” as defined by this API contract."
    • Changedcompany_fr_kyb13 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/kyb API."
      • addedInput schema / properties / domain / description
        Added value: +"Optional domain to screen as supplemental KYB context; it is not treated as an officially verified company domain."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/kyb API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / coverage / description
        Added value: +"Coverage information describing which underlying services or sources were available."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • changedOutput schema / properties / name
        Previous value: -[]New value: +{
        +  "description": "Publicly available company, person, buyer or record name for this result."
        +}
      • addedOutput schema / properties / sections / description
        Added value: +"Named result sections produced by this aggregator."
      • changedOutput schema / properties / siren
        Previous value: -[]New value: +{
        +  "description": "Normalized 9-digit French SIREN when available."
        +}
    • Changedcompany_fr_kyb_batch13 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/kyb-batch API."
      • addedInput schema / properties / identifiers / description
        Added value: +"List of French company identifiers to process; each item must be a 9-digit SIREN or 14-digit SIRET. (at least 2 items; at most 10 items)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/kyb-batch API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / completed_count / description
        Added value: +"Structured value returned for “completed count” as defined by this API contract."
      • addedOutput schema / properties / failed_count / description
        Added value: +"Structured value returned for “failed count” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / requested_count / description
        Added value: +"Structured value returned for “requested count” as defined by this API contract."
      • addedOutput schema / properties / results / description
        Added value: +"Structured result records returned by the endpoint."
      • addedOutput schema / properties / results / items / properties / data / description
        Added value: +"Structured value returned for “data” as defined by this API contract."
      • addedOutput schema / properties / results / items / properties / error / description
        Added value: +"Structured value returned for “error” as defined by this API contract."
      • addedOutput schema / properties / results / items / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / results / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
    • Changedcompany_fr_legal_announcements_search12 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/legal-announcements-search API."
      • addedInput schema / properties / department / description
        Added value: +"Optional French department code used to restrict results geographically."
      • addedInput schema / properties / family_code / description
        Added value: +"Optional BODACC announcement family code used to restrict legal-announcement results."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 100; default 25)."
      • addedInput schema / properties / since / description
        Added value: +"Earliest publication or event date to include, in YYYY-MM-DD format."
      • addedInput schema / properties / until / description
        Added value: +"Latest publication or event date to include, in YYYY-MM-DD format."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/legal-announcements-search API."
      • addedOutput schema / properties / announcements / description
        Added value: +"Structured value returned for “announcements” as defined by this API contract."
      • addedOutput schema / properties / criteria / description
        Added value: +"Structured value returned for “criteria” as defined by this API contract."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of matching records reported by the source or endpoint."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedcompany_fr_legal_announcements_since14 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/legal-announcements-since API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 50; default 20)."
      • addedInput schema / properties / since / description
        Added value: +"Earliest publication or event date to include, in YYYY-MM-DD format."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/legal-announcements-since API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / event_count / description
        Added value: +"Number of normalized events included in this response."
      • addedOutput schema / properties / events / description
        Added value: +"Normalized public events returned by the endpoint."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / since / description
        Added value: +"Structured value returned for “since” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
    • Changedcompany_fr_lobbying17 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/lobbying API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/lobbying API."
      • addedOutput schema / properties / activity_topics / description
        Added value: +"Structured value returned for “activity topics” as defined by this API contract."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / clients / description
        Added value: +"Structured value returned for “clients” as defined by this API contract."
      • addedOutput schema / properties / declared_name / description
        Added value: +"Structured value returned for “declared name” as defined by this API contract."
      • addedOutput schema / properties / domains / description
        Added value: +"Structured value returned for “domains” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / registered / description
        Added value: +"Structured value returned for “registered” as defined by this API contract."
      • addedOutput schema / properties / registration_date / description
        Added value: +"Structured value returned for “registration date” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / source_json_url / description
        Added value: +"Structured value returned for “source json url” as defined by this API contract."
      • addedOutput schema / properties / source_status / description
        Added value: +"Availability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried)."
    • Changedcompany_fr_nearby17 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/nearby API."
      • addedInput schema / properties / activity_code / description
        Added value: +"Optional French NAF activity code used to restrict nearby-company results."
      • addedInput schema / properties / activity_section / description
        Added value: +"Optional NAF activity section letter used to restrict nearby-company results."
      • addedInput schema / properties / latitude / description
        Added value: +"Latitude in decimal degrees for the centre of the geographic search. (minimum -90; maximum 90)."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 25; default 10)."
      • addedInput schema / properties / longitude / description
        Added value: +"Longitude in decimal degrees for the centre of the geographic search. (minimum -180; maximum 180)."
      • addedInput schema / properties / radius_km / description
        Added value: +"Search radius around the supplied coordinates, expressed in kilometres. (greater than 0; maximum 50; default 5)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/nearby API."
      • changedOutput schema / properties / activity_code
        Previous value: -[]New value: +{
        +  "description": "Structured value returned for “activity code” as defined by this API contract."
        +}
      • changedOutput schema / properties / activity_section
        Previous value: -[]New value: +{
        +  "description": "Structured value returned for “activity section” as defined by this API contract."
        +}
      • addedOutput schema / properties / companies / description
        Added value: +"Structured company records returned by the endpoint."
      • addedOutput schema / properties / latitude / description
        Added value: +"Structured value returned for “latitude” as defined by this API contract."
      • addedOutput schema / properties / longitude / description
        Added value: +"Structured value returned for “longitude” as defined by this API contract."
      • addedOutput schema / properties / radius_km / description
        Added value: +"Structured value returned for “radius km” as defined by this API contract."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of matching records reported by the source or endpoint."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedcompany_fr_opportunities23 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/opportunities API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/opportunities API."
      • addedOutput schema / properties / company_status / description
        Added value: +"Current public administrative company status when available."
      • addedOutput schema / properties / coverage / description
        Added value: +"Coverage information describing which underlying services or sources were available."
      • addedOutput schema / properties / coverage / items / properties / service / description
        Added value: +"Structured value returned for “service” as defined by this API contract."
      • addedOutput schema / properties / coverage / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / opportunities / description
        Added value: +"Ranked public-data opportunities returned by the endpoint."
      • addedOutput schema / properties / opportunities / items / properties / reasons / description
        Added value: +"Structured value returned for “reasons” as defined by this API contract."
      • addedOutput schema / properties / opportunities / items / properties / score / description
        Added value: +"Normalized score produced by the endpoint; interpretation is defined by the tool description and limitations. (minimum 0; maximum 1)."
      • addedOutput schema / properties / opportunities / items / properties / source_data / description
        Added value: +"Structured value returned for “source data” as defined by this API contract."
      • addedOutput schema / properties / opportunities / items / properties / sources / description
        Added value: +"Public data sources used or checked for this result."
      • addedOutput schema / properties / opportunities / items / properties / title / description
        Added value: +"Structured value returned for “title” as defined by this API contract."
      • addedOutput schema / properties / opportunities / items / properties / type / description
        Added value: +"Structured value returned for “type” as defined by this API contract. (allowed values: PUBLIC_AID, PUBLIC_TENDER)."
      • addedOutput schema / properties / project / description
        Added value: +"Structured value returned for “project” as defined by this API contract."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / total_candidates / description
        Added value: +"Structured value returned for “total candidates” as defined by this API contract."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedcompany_fr_payment_context19 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/payment-context API."
      • addedInput schema / properties / domain / description
        Added value: +"Optional domain supplied as additional counterparty context; it is checked separately and is not treated as proof of company ownership."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/payment-context API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / collective_procedure_events / description
        Added value: +"Structured value returned for “collective procedure events” as defined by this API contract."
      • changedOutput schema / properties / company_status
        Previous value: -[]New value: +{
        +  "description": "Current public administrative company status when available."
        +}
      • addedOutput schema / properties / compliance_status / description
        Added value: +"Structured value returned for “compliance status” as defined by this API contract."
      • addedOutput schema / properties / coverage / description
        Added value: +"Coverage information describing which underlying services or sources were available."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable."
      • changedOutput schema / properties / latest_relevant_event
        Previous value: -[]New value: +{
        +  "description": "Structured value returned for “latest relevant event” as defined by this API contract."
        +}
      • changedOutput schema / properties / legal_risk
        Previous value: -[]New value: +{
        +  "description": "Structured value returned for “legal risk” as defined by this API contract."
        +}
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • changedOutput schema / properties / name
        Previous value: -[]New value: +{
        +  "description": "Publicly available company, person, buyer or record name for this result."
        +}
      • addedOutput schema / properties / public_alerts_found / description
        Added value: +"Structured value returned for “public alerts found” as defined by this API contract."
      • addedOutput schema / properties / radiation_events / description
        Added value: +"Structured value returned for “radiation events” as defined by this API contract."
      • changedOutput schema / properties / siren
        Previous value: -[]New value: +{
        +  "description": "Normalized 9-digit French SIREN when available."
        +}
    • Changedcompany_fr_peers13 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/peers API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 25; default 10)."
      • addedInput schema / properties / scope / description
        Added value: +"Geographic comparison scope controlling whether candidates are selected by department, region or all of France. (default region; allowed values: department, region, france)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/peers API."
      • addedOutput schema / properties / criteria / description
        Added value: +"Structured value returned for “criteria” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • changedOutput schema / properties / name
        Previous value: -[]New value: +{
        +  "description": "Publicly available company, person, buyer or record name for this result."
        +}
      • addedOutput schema / properties / peers / description
        Added value: +"Structured value returned for “peers” as defined by this API contract."
      • addedOutput schema / properties / scope / description
        Added value: +"Structured value returned for “scope” as defined by this API contract."
      • changedOutput schema / properties / siren
        Previous value: -[]New value: +{
        +  "description": "Normalized 9-digit French SIREN when available."
        +}
    • Changedcompany_fr_profile30 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/profile API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/profile API."
      • addedOutput schema / properties / activity_code / description
        Added value: +"Structured value returned for “activity code” as defined by this API contract."
      • addedOutput schema / properties / closure_date / description
        Added value: +"Structured value returned for “closure date” as defined by this API contract."
      • addedOutput schema / properties / company_category / description
        Added value: +"Structured value returned for “company category” as defined by this API contract."
      • addedOutput schema / properties / creation_date / description
        Added value: +"Structured value returned for “creation date” as defined by this API contract."
      • addedOutput schema / properties / employee_band_code / description
        Added value: +"Structured value returned for “employee band code” as defined by this API contract."
      • addedOutput schema / properties / employee_band_year / description
        Added value: +"Structured value returned for “employee band year” as defined by this API contract."
      • addedOutput schema / properties / establishments_count / description
        Added value: +"Structured value returned for “establishments count” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / headquarters / description
        Added value: +"Structured value returned for “headquarters” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / activity_code / description
        Added value: +"Structured value returned for “activity code” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / address / description
        Added value: +"Structured value returned for “address” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / city / description
        Added value: +"Structured value returned for “city” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / creation_date / description
        Added value: +"Structured value returned for “creation date” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / department / description
        Added value: +"Structured value returned for “department” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / latitude / description
        Added value: +"Structured value returned for “latitude” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / longitude / description
        Added value: +"Structured value returned for “longitude” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / postal_code / description
        Added value: +"Structured value returned for “postal code” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / region / description
        Added value: +"Structured value returned for “region” as defined by this API contract."
      • addedOutput schema / properties / headquarters / properties / siret / description
        Added value: +"Normalized 14-digit French SIRET when available."
      • addedOutput schema / properties / headquarters / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / is_employer / description
        Added value: +"Structured value returned for “is employer” as defined by this API contract."
      • addedOutput schema / properties / legal_form_code / description
        Added value: +"Structured value returned for “legal form code” as defined by this API contract."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / open_establishments_count / description
        Added value: +"Structured value returned for “open establishments count” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / status / description
        Added value: +"Normalized endpoint or source status."
    • Changedcompany_fr_prospecting23 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/prospecting API."
      • addedInput schema / properties / activity_code / description
        Added value: +"Optional French NAF activity code used to restrict or classify company results."
      • addedInput schema / properties / activity_section / description
        Added value: +"Optional NAF activity section used to restrict company results."
      • addedInput schema / properties / bio / description
        Added value: +"When true, restrict results to companies found in the supported public organic/Bio certification source."
      • addedInput schema / properties / company_category / description
        Added value: +"Optional French company-size category used to restrict prospecting results."
      • addedInput schema / properties / department / description
        Added value: +"Optional French department code used to restrict results geographically."
      • addedInput schema / properties / employee_band_code / description
        Added value: +"Optional official employee-band code used to restrict company results."
      • addedInput schema / properties / legal_form_code / description
        Added value: +"Optional French legal-form code used to restrict company results."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 25; default 25)."
      • addedInput schema / properties / page / description
        Added value: +"One-based result page number. (minimum 1; default 1)."
      • addedInput schema / properties / postal_code / description
        Added value: +"Optional French postal code used to narrow results geographically."
      • addedInput schema / properties / qualiopi / description
        Added value: +"When true, restrict results to companies found in the supported public Qualiopi source."
      • addedInput schema / properties / query / description
        Added value: +"Optional company-name or free-text term combined with the structured prospecting filters."
      • addedInput schema / properties / region / description
        Added value: +"Optional French region code used to restrict results geographically."
      • addedInput schema / properties / rge / description
        Added value: +"When true, restrict results to companies with a supported public RGE qualification."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/prospecting API."
      • addedOutput schema / properties / companies / description
        Added value: +"Structured company records returned by the endpoint."
      • addedOutput schema / properties / filters / description
        Added value: +"Structured value returned for “filters” as defined by this API contract."
      • addedOutput schema / properties / limit / description
        Added value: +"Structured value returned for “limit” as defined by this API contract."
      • addedOutput schema / properties / page / description
        Added value: +"Structured value returned for “page” as defined by this API contract."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of matching records reported by the source or endpoint."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedcompany_fr_public_contract_competitors11 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/public-contract-competitors API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 25; default 10)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/public-contract-competitors API."
      • addedOutput schema / properties / competitors / description
        Added value: +"Structured value returned for “competitors” as defined by this API contract."
      • addedOutput schema / properties / cpv_segments / description
        Added value: +"Structured value returned for “cpv segments” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • changedOutput schema / properties / name
        Previous value: -[]New value: +{
        +  "description": "Publicly available company, person, buyer or record name for this result."
        +}
      • changedOutput schema / properties / siren
        Previous value: -[]New value: +{
        +  "description": "Normalized 9-digit French SIREN when available."
        +}
    • Changedcompany_fr_public_contracts44 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/public-contracts API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/public-contracts API."
      • addedOutput schema / properties / contracts / description
        Added value: +"Normalized public-contract records returned by the endpoint."
      • addedOutput schema / properties / contracts / items / properties / amount / description
        Added value: +"Structured value returned for “amount” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / buyer / description
        Added value: +"Structured value returned for “buyer” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / buyer / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / contracts / items / properties / buyer / properties / siret / description
        Added value: +"Normalized 14-digit French SIRET when available."
      • addedOutput schema / properties / contracts / items / properties / cpv / description
        Added value: +"Structured value returned for “cpv” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / duration_months / description
        Added value: +"Structured value returned for “duration months” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / environmental_considerations / description
        Added value: +"Structured value returned for “environmental considerations” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / execution_location / description
        Added value: +"Structured value returned for “execution location” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / execution_location / properties / code / description
        Added value: +"Structured value returned for “code” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / execution_location / properties / code_type / description
        Added value: +"Structured value returned for “code type” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / execution_location / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / contracts / items / properties / holder_sirets / description
        Added value: +"Structured value returned for “holder sirets” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / id / description
        Added value: +"Structured value returned for “id” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / innovative / description
        Added value: +"Structured value returned for “innovative” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / modification_amount / description
        Added value: +"Structured value returned for “modification amount” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / modification_object / description
        Added value: +"Structured value returned for “modification object” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / modified / description
        Added value: +"Structured value returned for “modified” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / nature / description
        Added value: +"Structured value returned for “nature” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / notification_date / description
        Added value: +"Structured value returned for “notification date” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / object / description
        Added value: +"Structured value returned for “object” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / price_form / description
        Added value: +"Structured value returned for “price form” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / procedure / description
        Added value: +"Structured value returned for “procedure” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / publication_date / description
        Added value: +"Structured value returned for “publication date” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / social_considerations / description
        Added value: +"Structured value returned for “social considerations” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / source_type / description
        Added value: +"Structured value returned for “source type” as defined by this API contract. (allowed values: SOURCE_PUBLIQUE)."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / summary / description
        Added value: +"Compact derived summary of the returned records."
      • addedOutput schema / properties / summary / properties / latest_notification_date / description
        Added value: +"Structured value returned for “latest notification date” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / returned_amount / description
        Added value: +"Structured value returned for “returned amount” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / top_buyers_in_response / description
        Added value: +"Structured value returned for “top buyers in response” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / top_buyers_in_response / items / properties / contracts_count / description
        Added value: +"Structured value returned for “contracts count” as defined by this API contract."
      • addedOutput schema / properties / summary / properties / top_buyers_in_response / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / summary / properties / top_buyers_in_response / items / properties / siret / description
        Added value: +"Normalized 14-digit French SIRET when available."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of matching records reported by the source or endpoint."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedcompany_fr_public_contracts_eu24 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/public-contracts-eu API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 50; default 20)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/public-contracts-eu API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / notices / description
        Added value: +"Structured value returned for “notices” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / buyers / description
        Added value: +"Structured value returned for “buyers” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / cpv_codes / description
        Added value: +"Structured value returned for “cpv codes” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / decision_date / description
        Added value: +"Structured value returned for “decision date” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / notice_type / description
        Added value: +"Structured value returned for “notice type” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / publication_date / description
        Added value: +"Structured value returned for “publication date” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / publication_number / description
        Added value: +"Structured value returned for “publication number” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / title / description
        Added value: +"Structured value returned for “title” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / winner_countries / description
        Added value: +"Structured value returned for “winner countries” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / winner_identifiers / description
        Added value: +"Structured value returned for “winner identifiers” as defined by this API contract."
      • addedOutput schema / properties / notices / items / properties / winners / description
        Added value: +"Structured value returned for “winners” as defined by this API contract."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / search_query / description
        Added value: +"Structured value returned for “search query” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / source_status / description
        Added value: +"Availability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried)."
    • Changedcompany_fr_regulator_alerts15 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/regulator-alerts API."
      • addedInput schema / properties / domain / description
        Added value: +"Optional domain checked separately alongside the company identity for public regulator-alert signals."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/regulator-alerts API."
      • addedOutput schema / properties / amf_match_count / description
        Added value: +"Structured value returned for “amf match count” as defined by this API contract."
      • addedOutput schema / properties / amf_matches / description
        Added value: +"Structured value returned for “amf matches” as defined by this API contract."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / regafi_approval_count / description
        Added value: +"Structured value returned for “regafi approval count” as defined by this API contract."
      • addedOutput schema / properties / regafi_regulated / description
        Added value: +"Structured value returned for “regafi regulated” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / status / description
        Added value: +"Normalized endpoint or source status. (allowed values: ALERT, KNOWN_REGULATED_ENTITY, NO_PUBLIC_ALERT_FOUND, PARTIAL_UNAVAILABLE, COMPANY_NOT_FOUND)."
    • Changedcompany_fr_regulatory_approvals20 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/regulatory-approvals API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/regulatory-approvals API."
      • addedOutput schema / properties / approval_count / description
        Added value: +"Structured value returned for “approval count” as defined by this API contract."
      • addedOutput schema / properties / approvals / description
        Added value: +"Structured value returned for “approvals” as defined by this API contract."
      • addedOutput schema / properties / approvals / items / properties / activities / description
        Added value: +"Structured value returned for “activities” as defined by this API contract."
      • addedOutput schema / properties / approvals / items / properties / category / description
        Added value: +"Structured value returned for “category” as defined by this API contract."
      • addedOutput schema / properties / approvals / items / properties / cib / description
        Added value: +"Structured value returned for “cib” as defined by this API contract."
      • addedOutput schema / properties / approvals / items / properties / lei / description
        Added value: +"Structured value returned for “lei” as defined by this API contract."
      • addedOutput schema / properties / approvals / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / approvals / items / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / approvals / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / regulated / description
        Added value: +"Structured value returned for “regulated” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / source_status / description
        Added value: +"Availability status of the relevant upstream public source. (allowed values: ok, unavailable, not_queried)."
    • Changedcompany_fr_report14 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/report API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / language / description
        Added value: +"Language used for the generated human-readable output. (default fr; allowed values: fr, en)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/report API."
      • addedOutput schema / properties / bytes / description
        Added value: +"Structured value returned for “bytes” as defined by this API contract."
      • addedOutput schema / properties / filename / description
        Added value: +"Structured value returned for “filename” as defined by this API contract."
      • addedOutput schema / properties / generated_at / description
        Added value: +"UTC timestamp at which this derived result was generated."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / language / description
        Added value: +"Structured value returned for “language” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / mime_type / description
        Added value: +"Structured value returned for “mime type” as defined by this API contract."
      • addedOutput schema / properties / pdf_base64 / description
        Added value: +"Structured value returned for “pdf base64” as defined by this API contract."
      • addedOutput schema / properties / sections / description
        Added value: +"Named result sections produced by this aggregator."
      • addedOutput schema / properties / sha256 / description
        Added value: +"Structured value returned for “sha256” as defined by this API contract."
    • Changedcompany_fr_risk26 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/risk API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/risk API."
      • addedOutput schema / properties / assessment_basis / description
        Added value: +"Structured value returned for “assessment basis” as defined by this API contract."
      • addedOutput schema / properties / company_status / description
        Added value: +"Current public administrative company status when available."
      • addedOutput schema / properties / coverage_complete / description
        Added value: +"Whether the checked public-source coverage was sufficient for the endpoint’s stated scope."
      • addedOutput schema / properties / events / description
        Added value: +"Normalized public events returned by the endpoint."
      • addedOutput schema / properties / events / items / properties / decision_date / description
        Added value: +"Structured value returned for “decision date” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / decision_type / description
        Added value: +"Structured value returned for “decision type” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / family / description
        Added value: +"Structured value returned for “family” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / id / description
        Added value: +"Structured value returned for “id” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / publication_date / description
        Added value: +"Structured value returned for “publication date” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / tribunal / description
        Added value: +"Structured value returned for “tribunal” as defined by this API contract."
      • addedOutput schema / properties / events / items / properties / type / description
        Added value: +"Structured value returned for “type” as defined by this API contract. (allowed values: collective_procedure, radiation)."
      • addedOutput schema / properties / events / items / properties / url / description
        Added value: +"Structured value returned for “url” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / latest_event / description
        Added value: +"Structured value returned for “latest event” as defined by this API contract."
      • addedOutput schema / properties / lookback_years / description
        Added value: +"Structured value returned for “lookback years” as defined by this API contract."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / risk_level / description
        Added value: +"Explainable public-data risk level produced by this endpoint; it is not an official credit score. (allowed values: low, warning, high, unknown)."
      • addedOutput schema / properties / signals / description
        Added value: +"Structured value returned for “signals” as defined by this API contract."
      • addedOutput schema / properties / signals / properties / collective_procedure_events / description
        Added value: +"Structured value returned for “collective procedure events” as defined by this API contract."
      • addedOutput schema / properties / signals / properties / company_closed / description
        Added value: +"Structured value returned for “company closed” as defined by this API contract."
      • addedOutput schema / properties / signals / properties / radiation_events / description
        Added value: +"Structured value returned for “radiation events” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
    • Changedcompany_fr_risk_reading18 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/risk-reading API."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / language / description
        Added value: +"Language used for the generated human-readable output. (default fr; allowed values: fr, en)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/risk-reading API."
      • addedOutput schema / properties / alerts / description
        Added value: +"Structured value returned for “alerts” as defined by this API contract."
      • addedOutput schema / properties / confidence / description
        Added value: +"Confidence indicator associated with an inferred or derived result."
      • addedOutput schema / properties / evidence / description
        Added value: +"Structured value returned for “evidence” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / generated_at / description
        Added value: +"UTC timestamp at which this derived result was generated."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / language / description
        Added value: +"Structured value returned for “language” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / narrative / description
        Added value: +"Structured value returned for “narrative” as defined by this API contract."
      • addedOutput schema / properties / score / description
        Added value: +"Normalized score produced by the endpoint; interpretation is defined by the tool description and limitations."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / strengths / description
        Added value: +"Structured value returned for “strengths” as defined by this API contract."
      • addedOutput schema / properties / verdict / description
        Added value: +"Normalized endpoint conclusion derived from the checked public data."
    • Changedcompany_fr_search11 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/search API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/search API."
      • addedOutput schema / properties / results / description
        Added value: +"Structured result records returned by the endpoint."
      • addedOutput schema / properties / results / items / properties / activity_code / description
        Added value: +"Structured value returned for “activity code” as defined by this API contract."
      • addedOutput schema / properties / results / items / properties / address / description
        Added value: +"Structured value returned for “address” as defined by this API contract."
      • addedOutput schema / properties / results / items / properties / city / description
        Added value: +"Structured value returned for “city” as defined by this API contract."
      • addedOutput schema / properties / results / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / results / items / properties / postal_code / description
        Added value: +"Structured value returned for “postal code” as defined by this API contract."
      • addedOutput schema / properties / results / items / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / results / items / properties / siret / description
        Added value: +"Normalized 14-digit French SIRET when available."
      • addedOutput schema / properties / results / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
    • Changedcompany_fr_sector_statistics23 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/sector-statistics API."
      • addedInput schema / properties / activity_code / description
        Added value: +"French NAF activity code to summarize, in the form 00.00A."
      • addedInput schema / properties / department / description
        Added value: +"Optional French department code used to restrict results geographically."
      • addedInput schema / properties / include_financials / description
        Added value: +"When true, include the supported public financial sample in the sector statistics. (default false)."
      • addedInput schema / properties / region / description
        Added value: +"Optional French region code used to restrict results geographically."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/sector-statistics API."
      • addedOutput schema / properties / activity_code / description
        Added value: +"Structured value returned for “activity code” as defined by this API contract."
      • addedOutput schema / properties / age_years / description
        Added value: +"Structured value returned for “age years” as defined by this API contract."
      • addedOutput schema / properties / age_years / properties / max / description
        Added value: +"Structured value returned for “max” as defined by this API contract."
      • addedOutput schema / properties / age_years / properties / median / description
        Added value: +"Structured value returned for “median” as defined by this API contract."
      • addedOutput schema / properties / age_years / properties / min / description
        Added value: +"Structured value returned for “min” as defined by this API contract."
      • addedOutput schema / properties / department / description
        Added value: +"Structured value returned for “department” as defined by this API contract."
      • addedOutput schema / properties / employee_band_distribution / description
        Added value: +"Structured value returned for “employee band distribution” as defined by this API contract."
      • addedOutput schema / properties / employee_band_distribution / items / properties / code / description
        Added value: +"Structured value returned for “code” as defined by this API contract."
      • addedOutput schema / properties / employee_band_distribution / items / properties / count / description
        Added value: +"Structured value returned for “count” as defined by this API contract."
      • addedOutput schema / properties / financial_sample_count / description
        Added value: +"Structured value returned for “financial sample count” as defined by this API contract."
      • addedOutput schema / properties / generated_at / description
        Added value: +"UTC timestamp at which this derived result was generated."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / median_net_income / description
        Added value: +"Structured value returned for “median net income” as defined by this API contract."
      • addedOutput schema / properties / median_revenue / description
        Added value: +"Structured value returned for “median revenue” as defined by this API contract."
      • addedOutput schema / properties / region / description
        Added value: +"Structured value returned for “region” as defined by this API contract."
      • addedOutput schema / properties / sampled_count / description
        Added value: +"Structured value returned for “sampled count” as defined by this API contract."
      • addedOutput schema / properties / total_active / description
        Added value: +"Structured value returned for “total active” as defined by this API contract."
    • Changedcompany_fr_signals20 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/signals API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/signals API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / coverage / description
        Added value: +"Coverage information describing which underlying services or sources were available."
      • addedOutput schema / properties / coverage / items / properties / service / description
        Added value: +"Structured value returned for “service” as defined by this API contract."
      • addedOutput schema / properties / coverage / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / lookback_days / description
        Added value: +"Structured value returned for “lookback days” as defined by this API contract."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / signals / description
        Added value: +"Structured value returned for “signals” as defined by this API contract."
      • addedOutput schema / properties / signals / items / properties / date / description
        Added value: +"Structured value returned for “date” as defined by this API contract."
      • addedOutput schema / properties / signals / items / properties / explanation / description
        Added value: +"Structured value returned for “explanation” as defined by this API contract."
      • addedOutput schema / properties / signals / items / properties / importance / description
        Added value: +"Structured value returned for “importance” as defined by this API contract. (allowed values: low, medium, high)."
      • addedOutput schema / properties / signals / items / properties / source_data / description
        Added value: +"Structured value returned for “source data” as defined by this API contract."
      • addedOutput schema / properties / signals / items / properties / sources / description
        Added value: +"Public data sources used or checked for this result."
      • addedOutput schema / properties / signals / items / properties / type / description
        Added value: +"Structured value returned for “type” as defined by this API contract. (allowed values: INSOLVENCY, REVENUE_DROP, FAST_GROWTH, NEW_FINANCIAL_STATEMENT, NEW_PUBLIC_CONTRACT, NEW_CERTIFICATION, COMPANY_CLOSED)."
      • addedOutput schema / properties / signals_count / description
        Added value: +"Structured value returned for “signals count” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
    • Changedcompany_fr_supplier_verification12 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/supplier-verification API."
      • addedInput schema / properties / iban / description
        Added value: +"IBAN supplied for structural validation or supplier consistency checks."
      • addedInput schema / properties / identifier / description
        Added value: +"French company identifier: 9-digit SIREN or 14-digit SIRET."
      • addedInput schema / properties / vat_number / description
        Added value: +"Optional or required VAT identifier used by this validation or consistency check."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/supplier-verification API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / checks / description
        Added value: +"Structured value returned for “checks” as defined by this API contract."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / verdict / description
        Added value: +"Normalized endpoint conclusion derived from the checked public data."
    • Changedcompany_fr_verify13 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the company/fr/verify API."
      • addedOutput schema / description
        Added value: +"Structured result returned by the company/fr/verify API."
      • addedOutput schema / properties / active / description
        Added value: +"Current public administrative active status when available."
      • addedOutput schema / properties / activity_code / description
        Added value: +"Structured value returned for “activity code” as defined by this API contract."
      • addedOutput schema / properties / address / description
        Added value: +"Structured value returned for “address” as defined by this API contract."
      • addedOutput schema / properties / city / description
        Added value: +"Structured value returned for “city” as defined by this API contract."
      • addedOutput schema / properties / exists / description
        Added value: +"Whether the requested company or public record was found in the checked source."
      • addedOutput schema / properties / identifier / description
        Added value: +"Identifier supplied for the request, echoed in normalized form when applicable."
      • addedOutput schema / properties / identifier_type / description
        Added value: +"Normalized identifier type, such as SIREN or SIRET when applicable. (allowed values: siren, siret)."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / postal_code / description
        Added value: +"Structured value returned for “postal code” as defined by this API contract."
      • addedOutput schema / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / siret / description
        Added value: +"Normalized 14-digit French SIRET when available."
    • Changedcompliance_name_screen21 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the compliance/name-screen API."
      • addedInput schema / properties / name / description
        Added value: +"Person or organization name to compare with the supported public sanctions and asset-freeze lists. (minimum length 2; maximum length 200)."
      • addedInput schema / properties / threshold / description
        Added value: +"Minimum fuzzy-match score accepted as a candidate public-list match. (minimum 50; maximum 100; default 85)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the compliance/name-screen API."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / match_count / description
        Added value: +"Number of candidate matches returned by the screening operation."
      • addedOutput schema / properties / matches / description
        Added value: +"Candidate public-list or source matches returned by the endpoint."
      • addedOutput schema / properties / matches / items / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / matches / items / properties / reference / description
        Added value: +"Structured value returned for “reference” as defined by this API contract."
      • addedOutput schema / properties / matches / items / properties / score / description
        Added value: +"Normalized score produced by the endpoint; interpretation is defined by the tool description and limitations."
      • addedOutput schema / properties / matches / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / matches / items / properties / type / description
        Added value: +"Structured value returned for “type” as defined by this API contract."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / sources / description
        Added value: +"Public data sources used or checked for this result."
      • addedOutput schema / properties / sources / items / properties / publication_date / description
        Added value: +"Structured value returned for “publication date” as defined by this API contract."
      • addedOutput schema / properties / sources / items / properties / records_scanned / description
        Added value: +"Structured value returned for “records scanned” as defined by this API contract."
      • addedOutput schema / properties / sources / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / sources / items / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / threshold / description
        Added value: +"Structured value returned for “threshold” as defined by this API contract."
    • Changediban_validate17 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the iban/validate API."
      • addedInput schema / properties / iban / description
        Added value: +"IBAN to normalize and validate structurally, including the ISO 13616 mod-97 checksum. (minimum length 15; maximum length 34)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the iban/validate API."
      • addedOutput schema / properties / account_number / description
        Added value: +"Structured value returned for “account number” as defined by this API contract."
      • addedOutput schema / properties / bank_code / description
        Added value: +"Structured value returned for “bank code” as defined by this API contract."
      • addedOutput schema / properties / bank_name / description
        Added value: +"Structured value returned for “bank name” as defined by this API contract."
      • addedOutput schema / properties / bic / description
        Added value: +"Structured value returned for “bic” as defined by this API contract."
      • addedOutput schema / properties / branch_code / description
        Added value: +"Structured value returned for “branch code” as defined by this API contract."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / checksum_valid / description
        Added value: +"Structured value returned for “checksum valid” as defined by this API contract."
      • addedOutput schema / properties / country_code / description
        Added value: +"Structured value returned for “country code” as defined by this API contract."
      • addedOutput schema / properties / expected_length / description
        Added value: +"Structured value returned for “expected length” as defined by this API contract."
      • addedOutput schema / properties / iban / description
        Added value: +"Structured value returned for “iban” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / rib_key / description
        Added value: +"Structured value returned for “rib key” as defined by this API contract."
      • addedOutput schema / properties / structure_valid / description
        Added value: +"Structured value returned for “structure valid” as defined by this API contract."
      • addedOutput schema / properties / valid / description
        Added value: +"Whether the supplied identifier passed the endpoint’s validation rules."
    • Changedlist_categories1 field changed
      • addedOutput schema / properties / categories / description
        Added value: +"Published HelpMyAgent API categories with endpoint counts and documentation links."
    • Changedprocurement_fr_buyer_profile23 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the procurement/fr/buyer-profile API."
      • addedInput schema / properties / buyer / description
        Added value: +"French public-buyer name or SIRET used to build the procurement profile. (minimum length 2; maximum length 200)."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 100; default 100)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the procurement/fr/buyer-profile API."
      • addedOutput schema / properties / buyer_name / description
        Added value: +"Structured value returned for “buyer name” as defined by this API contract."
      • addedOutput schema / properties / buyer_siret / description
        Added value: +"Structured value returned for “buyer siret” as defined by this API contract."
      • addedOutput schema / properties / by_year / description
        Added value: +"Structured value returned for “by year” as defined by this API contract."
      • addedOutput schema / properties / by_year / items / properties / contracts_count / description
        Added value: +"Structured value returned for “contracts count” as defined by this API contract."
      • addedOutput schema / properties / by_year / items / properties / year / description
        Added value: +"Structured value returned for “year” as defined by this API contract."
      • addedOutput schema / properties / generated_at / description
        Added value: +"UTC timestamp at which this derived result was generated."
      • addedOutput schema / properties / latest_notification_date / description
        Added value: +"Structured value returned for “latest notification date” as defined by this API contract."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / query / description
        Added value: +"Structured value returned for “query” as defined by this API contract."
      • addedOutput schema / properties / sampled_amount / description
        Added value: +"Structured value returned for “sampled amount” as defined by this API contract."
      • addedOutput schema / properties / sampled_count / description
        Added value: +"Structured value returned for “sampled count” as defined by this API contract."
      • addedOutput schema / properties / source_status / description
        Added value: +"Availability status of the relevant upstream public source. (allowed values: ok, unavailable)."
      • addedOutput schema / properties / top_cpv / description
        Added value: +"Structured value returned for “top cpv” as defined by this API contract."
      • addedOutput schema / properties / top_cpv / items / properties / contracts_count / description
        Added value: +"Structured value returned for “contracts count” as defined by this API contract."
      • addedOutput schema / properties / top_cpv / items / properties / cpv / description
        Added value: +"Structured value returned for “cpv” as defined by this API contract."
      • addedOutput schema / properties / top_suppliers / description
        Added value: +"Structured value returned for “top suppliers” as defined by this API contract."
      • addedOutput schema / properties / top_suppliers / items / properties / contracts_count / description
        Added value: +"Structured value returned for “contracts count” as defined by this API contract."
      • addedOutput schema / properties / top_suppliers / items / properties / siren / description
        Added value: +"Normalized 9-digit French SIREN when available."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of matching records reported by the source or endpoint."
    • Changedprocurement_fr_deadlines28 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the procurement/fr/deadlines API."
      • addedInput schema / properties / cpv_prefix / description
        Added value: +"Optional CPV code prefix used to restrict public-contract expiry estimates to a procurement segment."
      • addedInput schema / properties / department / description
        Added value: +"Optional French department code used to restrict results geographically."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records returned by this call. (minimum 1; maximum 50; default 25)."
      • addedInput schema / properties / max_months / description
        Added value: +"Maximum number of months from now before the estimated contract end date. (minimum 1; maximum 60; default 18)."
      • addedInput schema / properties / min_months / description
        Added value: +"Minimum number of months from now before the estimated contract end date. (minimum 0; maximum 60; default 0)."
      • addedOutput schema / description
        Added value: +"Structured result returned by the procurement/fr/deadlines API."
      • addedOutput schema / properties / contracts / description
        Added value: +"Normalized public-contract records returned by the endpoint."
      • addedOutput schema / properties / contracts / items / properties / amount / description
        Added value: +"Structured value returned for “amount” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / buyer_name / description
        Added value: +"Structured value returned for “buyer name” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / buyer_siret / description
        Added value: +"Structured value returned for “buyer siret” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / contract_id / description
        Added value: +"Structured value returned for “contract id” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / cpv / description
        Added value: +"Structured value returned for “cpv” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / duration_months / description
        Added value: +"Structured value returned for “duration months” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / estimated_end_date / description
        Added value: +"Structured value returned for “estimated end date” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / execution_location / description
        Added value: +"Structured value returned for “execution location” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / holder_sirets / description
        Added value: +"Structured value returned for “holder sirets” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / months_until_end / description
        Added value: +"Structured value returned for “months until end” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / notification_date / description
        Added value: +"Structured value returned for “notification date” as defined by this API contract."
      • addedOutput schema / properties / contracts / items / properties / object / description
        Added value: +"Structured value returned for “object” as defined by this API contract."
      • addedOutput schema / properties / cpv_prefix / description
        Added value: +"Structured value returned for “cpv prefix” as defined by this API contract."
      • addedOutput schema / properties / department / description
        Added value: +"Structured value returned for “department” as defined by this API contract."
      • addedOutput schema / properties / generated_at / description
        Added value: +"UTC timestamp at which this derived result was generated."
      • addedOutput schema / properties / limitations / description
        Added value: +"Known interpretation, source-coverage or freshness limitations for this result."
      • addedOutput schema / properties / max_months / description
        Added value: +"Structured value returned for “max months” as defined by this API contract."
      • addedOutput schema / properties / min_months / description
        Added value: +"Structured value returned for “min months” as defined by this API contract."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / source_status / description
        Added value: +"Availability status of the relevant upstream public source. (allowed values: ok, unavailable)."
    • Changedprocurement_fr_search27 fields changed
      • changedInput schema / description
        Previous value: -"At least one of query, department, or buyer must be provided."New value: +"Structured input parameters for the procurement/fr/search API. At least one of query, department, or buyer must be provided."
      • addedOutput schema / description
        Added value: +"Structured result returned by the procurement/fr/search API."
      • addedOutput schema / properties / buyer / description
        Added value: +"Structured value returned for “buyer” as defined by this API contract."
      • addedOutput schema / properties / deadline_after / description
        Added value: +"Structured value returned for “deadline after” as defined by this API contract."
      • addedOutput schema / properties / department / description
        Added value: +"Structured value returned for “department” as defined by this API contract."
      • addedOutput schema / properties / query / description
        Added value: +"Structured value returned for “query” as defined by this API contract."
      • addedOutput schema / properties / returned_count / description
        Added value: +"Number of records included in this response."
      • addedOutput schema / properties / tenders / description
        Added value: +"Normalized open public-procurement notices returned by the endpoint."
      • addedOutput schema / properties / tenders / items / properties / buyer / description
        Added value: +"Structured value returned for “buyer” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / cpv_codes / description
        Added value: +"Structured value returned for “cpv codes” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / criteria / description
        Added value: +"Structured value returned for “criteria” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / days_remaining / description
        Added value: +"Structured value returned for “days remaining” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / deadline / description
        Added value: +"Structured value returned for “deadline” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / departments / description
        Added value: +"Structured value returned for “departments” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / descriptors / description
        Added value: +"Structured value returned for “descriptors” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / id / description
        Added value: +"Structured value returned for “id” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / market_types / description
        Added value: +"Structured value returned for “market types” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / notice_type / description
        Added value: +"Structured value returned for “notice type” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / object / description
        Added value: +"Structured value returned for “object” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / procedure / description
        Added value: +"Structured value returned for “procedure” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / procedure_code / description
        Added value: +"Structured value returned for “procedure code” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / publication_date / description
        Added value: +"Structured value returned for “publication date” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / source_type / description
        Added value: +"Structured value returned for “source type” as defined by this API contract."
      • addedOutput schema / properties / tenders / items / properties / url / description
        Added value: +"Structured value returned for “url” as defined by this API contract."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of matching records reported by the source or endpoint."
      • addedOutput schema / properties / truncated / description
        Added value: +"Whether additional matching records existed beyond the returned result limit."
    • Changedsearch_apis2 fields changed
      • addedOutput schema / properties / apis / description
        Added value: +"Matching API descriptors including endpoint, pricing, coverage, usage guidance and documentation links."
      • addedOutput schema / properties / count / description
        Added value: +"Number of published APIs matching the supplied discovery criteria."
    • Changedvat_eu_validate16 fields changed
      • addedInput schema / description
        Added value: +"Structured input parameters for the vat/eu/validate API."
      • addedInput schema / properties / country_code / description
        Added value: +"EU/VIES country prefix used when the VAT number is supplied in separate parts."
      • addedInput schema / properties / number / description
        Added value: +"National VAT identifier body without the country prefix, used together with country_code."
      • addedInput schema / properties / vat_number / description
        Added value: +"Complete EU VAT number including the two-letter country prefix; alternatively provide country_code and number separately."
      • addedOutput schema / description
        Added value: +"Structured result returned by the vat/eu/validate API."
      • addedOutput schema / properties / address / description
        Added value: +"Structured value returned for “address” as defined by this API contract."
      • addedOutput schema / properties / checked_at / description
        Added value: +"UTC timestamp at which HelpMyAgent performed the check."
      • addedOutput schema / properties / country_code / description
        Added value: +"Structured value returned for “country code” as defined by this API contract."
      • addedOutput schema / properties / name / description
        Added value: +"Publicly available company, person, buyer or record name for this result."
      • addedOutput schema / properties / number / description
        Added value: +"Structured value returned for “number” as defined by this API contract."
      • addedOutput schema / properties / request_date / description
        Added value: +"Structured value returned for “request date” as defined by this API contract."
      • addedOutput schema / properties / request_identifier / description
        Added value: +"Structured value returned for “request identifier” as defined by this API contract."
      • addedOutput schema / properties / source / description
        Added value: +"Structured value returned for “source” as defined by this API contract."
      • addedOutput schema / properties / status / description
        Added value: +"Normalized endpoint or source status."
      • addedOutput schema / properties / valid / description
        Added value: +"Whether the supplied identifier passed the endpoint’s validation rules."
      • addedOutput schema / properties / vat_number / description
        Added value: +"Structured value returned for “vat number” as defined by this API contract."
  10. 2 tool updates
    • Changeddescribe_api1 field changed
      • changedInput schema / properties / endpoint / description
        Previous value: -"Canonical endpoint without version, exactly as published in the HelpMyAgent API catalogue."New value: +"Canonical endpoint slug exactly as returned by search_apis, for example company/fr/profile. Do not include a hostname, API version prefix, query string or leading slash."
    • Changedsearch_apis4 fields changed
      • changedInput schema / properties / category / description
        Previous value: -"Optional HelpMyAgent API category."New value: +"Optional exact category slug returned by list_categories; when supplied, only APIs in that category are considered."
      • changedInput schema / properties / country / description
        Previous value: -"Optional ISO 3166-1 alpha-2 country code, for example FR."New value: +"Optional ISO 3166-1 alpha-2 country code, for example FR; matching is case-insensitive and restricts results to APIs declaring that coverage."
      • changedInput schema / properties / max_price / description
        Previous value: -"Optional maximum price per call in the API currency."New value: +"Optional inclusive maximum advertised unit price per call; APIs priced above this value are excluded."
      • changedInput schema / properties / query / description
        Previous value: -"Describe the task or intent to match against the published HelpMyAgent API catalogue."New value: +"Describe the desired outcome or agent task in natural language; matching uses endpoint names, descriptions, tags, usage guidance and example queries."
  11. 18 tool updates
    • Addedcompany_fr_e_invoice
    • Addedcompany_fr_industrial_risk
    • Addedcompany_fr_invoice_check
    • Addedcompany_fr_kyb_batch
    • Addedcompany_fr_legal_announcements_since
    • Addedcompany_fr_lobbying
    • Addedcompany_fr_public_contracts_eu
    • Addedcompany_fr_regulator_alerts
    • Addedcompany_fr_regulatory_approvals
    • Addedcompany_fr_report
    • Addedcompany_fr_risk_reading
    • Addedcompany_fr_sector_statistics
    • Addedcompany_fr_supplier_verification
    • Addedcompliance_name_screen
    • Addediban_validate
    • Addedprocurement_fr_buyer_profile
    • Addedprocurement_fr_deadlines
    • Addedvat_eu_validate
  12. 12 tool updates
    • Addedcompany_fr_benchmark
    • Addedcompany_fr_compare
    • Addedcompany_fr_competitors
    • Addedcompany_fr_default_score
    • Addedcompany_fr_director_mandates
    • Addedcompany_fr_kyb
    • Addedcompany_fr_legal_announcements_search
    • Addedcompany_fr_nearby
    • Addedcompany_fr_payment_context
    • Addedcompany_fr_peers
    • Addedcompany_fr_prospecting
    • Addedcompany_fr_public_contract_competitors
  13. 18 tool updates
    • First observedcompany_fr_aids
    • First observedcompany_fr_certifications
    • First observedcompany_fr_compliance
    • First observedcompany_fr_directors
    • First observedcompany_fr_events
    • First observedcompany_fr_financials
    • First observedcompany_fr_intelligence
    • First observedcompany_fr_opportunities
    • First observedcompany_fr_profile
    • First observedcompany_fr_public_contracts
    • First observedcompany_fr_risk
    • First observedcompany_fr_search
    • First observedcompany_fr_signals
    • First observedcompany_fr_verify
    • First observeddescribe_api
    • First observedlist_categories
    • First observedprocurement_fr_search
    • First observedsearch_apis

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources