{"id":"9391c02b-c5b1-4ee0-9362-ea406567d546","type":"API","name":"API Ma Cantine","slug":"api-ma-cantine","description":"L'API s'adresse aux éditeurs de logiciel de la restauration collective. L'API permet aux gestionnaires de cantines de : - enregistrer une nouvelle cantine - effectuer leur bilan annuel du suivi des mesures Egalim (suivi bio, SIQO, repas végétariens...) - télédéclarer leurs données ### Données di…","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://www.data.gouv.fr/dataservices/api-ma-cantine","docs_url":"https://ma-cantine-demo.cleverapps.io/swagger-ui/","repo_url":null,"status":"ACTIVE","verification_state":"UNVERIFIED","tags":[],"logo_url":"https://udata-avatars.s3.rbx.io.cloud.ovh.net/a0/16eb04d7754b989b7dcd21d77699bd-100.png","primary_source_url":"https://www.data.gouv.fr/dataservices/api-ma-cantine","extraction_confidence":"0.40","created_at":"2026-06-07T22:08:40.187Z","updated_at":"2026-10-08T07:29:53.731Z","last_verified_at":"2026-09-05T22:23:59.461Z","deprecated_at":null,"ranking_score":30,"last_ranked_at":"2026-10-08T05:37:34.060Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":"2026-10-08T07:29:53.731Z","search_vector":"'a':191B 'adress':10B 'adresse':132B 'aim':98B 'aimed':220B 'allow':64B 'allows':186B 'and':205B,213B 'annual':74B,196B 'annuel':34B,156B 'api':1A,6A,8B,20B,51B,123A,128A,130B,142B,173B 'assess':75B 'assessment':197B 'at':222B 'aux':11B,22B,133B,144B 'bilan':33B,155B 'bio':41B,163B 'canteen':65B,71B,187B,193B 'cantin':3A,5A,25B,30B 'cantine':125A,127A,152B 'cantines':147B 'cater':61B,105B,121B 'catering':183B,227B,243B 'catering-manag':104B 'catering-management':226B 'collect':18B,60B 'collective':140B,182B 'complet':72B 'complete':194B 'complianc':122B 'compliance':244B 'connect':111B,233B 'de':13B,15B,24B,26B,135B,137B,146B,148B 'declar':94B 'declarations':216B 'des':37B,159B 'di':49B,171B 'donnees':169B,170B 'donné':47B,48B 'du':35B,157B 'editeurs':134B 'effectu':31B 'effectuer':153B 'egalim':39B,77B,161B,199B 'enabl':108B 'enabling':230B 'enregistr':27B 'enregistrer':149B 'etc':90B,212B 'food':79B,201B 'food-qual':78B 'food-quality':200B 'for':241B 'french':54B,176B 'from':174B 'gestionnair':23B 'gestionnaires':145B 'govern':55B 'government':177B 'institut':120B 'institutional':242B 'integr':103B 'integrating':225B 'is':219B 'it':185B,218B 'l':7B,19B,129B,141B 'la':16B,138B 'label':86B 'labeled':208B 'leur':32B,46B,154B 'leurs':168B 'logiciel':14B,136B 'ma':2A,4A,124A,126A 'manag':66B,106B 'management':228B 'managers':188B 'meal':89B 'meals':211B 'measur':81B 'measures':203B 'mesur':38B 'mesures':160B 'nation':116B 'national':238B 'new':70B,192B 'nouvell':29B 'nouvelle':151B 'of':198B 'onlin':95B 'online':217B 'organ':82B 'organic':204B 'permet':21B,143B 'platform':113B 'platforms':235B 'primarili':99B 'primarily':221B 'product':87B 'products':209B 'provid':102B 'providers':224B 'qualiti':80B,85B 'quality':202B,207B 'quality-label':84B 'quality-labeled':206B 'regist':68B 'register':190B 'repa':43B 'repas':165B 'report':117B 'reporting':239B 'restaur':17B 'restauration':139B 's':131B 'serv':59B 'servic':62B 'services':184B 'serving':181B 'siqo':42B,164B 'softwar':57B,101B 'software':179B,223B 'submit':92B,214B 'suivi':36B,40B,158B,162B 'support':56B 'supports':178B 'system':118B,240B 'teledeclarer':167B 'the':175B,237B 'their':195B,234B 'them':231B 'these':215B 'this':172B 'to':189B,232B,236B 'tool':107B 'tools':229B 'télédéclarer':45B 'une':28B,150B 'vegetarian':88B,210B 'vegetariens':166B 'vendor':58B 'vendors':180B 'végétarien':44B 'éditeur':12B","popularity_score":"0.0000","maintenance_score":"0.6000","institution_id":"5b86827e-a848-4295-b242-91ac4e71dc2b","institution_type":"GOVERNMENT","country_code":"FR","official_confidence":40,"proof_summary":"official domain (data.gouv.fr) (catalog: api_gouv_fr)","source_seed_url":null,"is_public_sector":true,"published_at":"2026-06-07T22:08:40.187Z","geographic_scope":"NATIONAL","name_en":"Ma Cantine API","description_en":"This API from the French government supports software vendors serving collective catering services. It allows canteen managers to register a new canteen, complete their annual assessment of EGAlim food-quality measures (organic and quality-labeled products, vegetarian meals, etc.), and submit these declarations online. It is aimed primarily at software providers integrating catering-management tools, enabling them to connect their platforms to the national reporting system for institutional catering compliance.","native_lang":"fr","access_level":"documented","formats":[],"capability_tier":"reference","trust_score":33.25,"merged_into_entry_id":null,"identity_key":"API|https://www.data.gouv.fr/dataservices/api-ma-cantine|api ma cantine","upstream_ref":null,"content_changed_at":null,"title_qualifier":null,"access":{"level":"documented","primary":{"kind":"query","label":"Run verified request","method":"GET","url":"https://ma-cantine.agriculture.gouv.fr/","source":"probe","runnable":true},"actions":[{"kind":"query","label":"Run verified request","method":"GET","url":"https://ma-cantine.agriculture.gouv.fr/","source":"probe","runnable":true},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://ma-cantine-demo.cleverapps.io/swagger-ui/","source":"docs","runnable":false},{"kind":"landing","label":"Visit homepage","method":"GET","url":"https://www.data.gouv.fr/dataservices/api-ma-cantine","source":"homepage","runnable":false}],"formats":[]},"maturity":{"entry_id":"9391c02b-c5b1-4ee0-9362-ea406567d546","granularity":"entry","granularity_label":"One unit = one catalog entry. A PROXY for the SCOPE.md §4 ladder, which governs source families, not entries: a family with 400 entries moves this reading 400 times as much as a family with one. Never compare or combine with the source_family reading.","level":"discovered","level_index":1,"level_label":"Discovered","meaning":"Source and metadata recorded","counts_as_coverage":false,"blocked_by":null,"rungs":[{"level":"discovered","level_index":1,"label":"Discovered","meaning":"Source and metadata recorded","evidence":"membership of the named population the ladder is taken over","counts_as_coverage":false,"met":true,"reached":true,"criterion":"TRUE"},{"level":"verified","level_index":2,"label":"Verified","meaning":"Access tested successfully","evidence":"entries.verification_state = 'VERIFIED'","counts_as_coverage":false,"met":false,"reached":false,"criterion":"entries.verification_state = 'VERIFIED'"},{"level":"profiled","level_index":3,"label":"Profiled","meaning":"Schema, dimensions and licence understood","evidence":"a data profile with at least one field (entry_data_profiles.field_count > 0)","counts_as_coverage":false,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_data_profiles p WHERE p.entry_id = entries.id AND COALESCE(p.field_count, 0) > 0)"},{"level":"executable","level_index":4,"label":"Executable","meaning":"Queries run through Commodity","evidence":"entries.capability_tier = 'live' — today's proxy for \"queryable through us\"","counts_as_coverage":true,"met":false,"reached":false,"criterion":"entries.capability_tier = 'live'"},{"level":"joinable","level_index":5,"label":"Joinable","meaning":"Canonical identifiers and concepts mapped","evidence":"a field link to a canonical identifier whose sampled VALUES match its format","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_field_links efl WHERE efl.entry_id = entries.id AND efl.identifier_id IS NOT NULL AND efl.value_status = 'match')"},{"level":"reproducible","level_index":6,"label":"Reproducible","meaning":"Snapshots and transformation evidence retained","evidence":"at least one retained evidence manifest (migration 078)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM evidence_manifests em WHERE em.entry_id = entries.id)"},{"level":"guaranteed","level_index":7,"label":"Guaranteed","meaning":"Monitored against an operational reliability target","evidence":"an active reliability target with a named monitor (migration 096)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_reliability_targets rt WHERE rt.entry_id = entries.id AND rt.is_active = true)"}],"officialness":{"basis":"catalog_inherited","label":"Inherited from the upstream catalog: this item came from a trusted official government catalog, and that provenance — not per-item proof — is the warrant. Its own proof score is below 80 or it matched no registered institution (apps/worker/src/connectors/catalog/qualify-store.ts).","proof_confidence":40,"proven_threshold":80,"institution_id":"5b86827e-a848-4295-b242-91ac4e71dc2b","definition":"CASE WHEN COALESCE(entries.is_public_sector, false) IS NOT TRUE THEN 'not_official' WHEN COALESCE(entries.official_confidence, 0) >= 80 AND entries.institution_id IS NOT NULL THEN 'per_item_proven' ELSE 'catalog_inherited' END"},"source_family":{"key":"www.data.gouv.fr","label":"One unit = one source family, approximated by the serving host of the entry's primary source URL (e.g. bdl.stat.gov.pl). A COMPUTED stand-in for the curated families of SCOPE.md §5, which no table holds yet. A family sits at the highest level any of its entries has reached, because a family is integrated to the depth of its deepest working integration. Never compare or combine with the entry reading."},"generated_at":"2026-10-12T14:47:17.080Z"},"api_details":{"id":"fc81ab53-9294-419c-a81c-d1e3875bae3e","entry_id":"9391c02b-c5b1-4ee0-9362-ea406567d546","base_url":"https://ma-cantine.agriculture.gouv.fr/","openapi_url":null,"graphql_url":null,"api_version":null,"spec_format":null,"endpoints_count":null,"endpoints":[],"rate_limit_info":null,"free_tier_limits":null,"ping_url":"https://ma-cantine.agriculture.gouv.fr/","created_at":"2026-06-07T22:08:40.207Z","updated_at":"2026-07-20T11:11:19.599Z"},"dataset_details":null,"license":null,"reuse":{"license_id":null,"license_name":null,"license_url":null,"commercial_use":{"status":"unknown","value":null},"redistribution":{"status":"unknown","value":null},"attribution_required":{"status":"unknown","value":null},"share_alike":{"status":"unknown","value":null},"personal_data_warning":{"status":"unknown","value":null},"cache_and_mirror":{"status":"unknown","value":null},"undetermined":["commercial_use","redistribution","attribution_required","share_alike","personal_data_warning","cache_and_mirror"],"basis":"unverified","confidence":0.1,"confidence_tier":"low","source_text":null,"source_url":null,"reviewed_at":null},"license_raw":null,"latest_check":{"id":"eed98bf5-d9ed-44cc-8ab8-4cbeb6b47a88","entry_id":"9391c02b-c5b1-4ee0-9362-ea406567d546","status":"UNVERIFIED","last_checked_at":"2026-10-10T21:16:53.446Z","p50_latency_ms":1895,"p95_latency_ms":null,"last_error":"Source URL is HTML, not a machine-readable API — possible mis-classification","consecutive_failures":0,"created_at":"2026-06-08T12:43:13.947Z","updated_at":"2026-10-10T21:16:53.446Z","consecutive_successes":38,"probe_url":"https://ma-cantine.agriculture.gouv.fr/","probe_method":"GET","probe_http_status":200,"probe_content_type":"text/html; charset=utf-8","probe_succeeded_at":"2026-09-05T22:23:59.223Z"},"data_profile":{"id":"d8f79e0c-c27c-4065-abfb-adef2cb19c43","entry_id":"9391c02b-c5b1-4ee0-9362-ea406567d546","profile_source":"none","profile_kind":"dataset","dataset_id":null,"fields":null,"field_count":null,"sample_records":null,"record_count":null,"data_size_bytes":null,"dataset_count":null,"query_examples":null,"status":"unsupported","error_message":"No introspectable source detected (primary URL sniffed: not machine-readable data)","profiled_at":"2026-09-30T20:45:01.624Z","run_id":"4b0dfa35-5594-41d0-993f-caaeb4fc6e67","created_at":"2026-07-20T14:18:26.775Z","updated_at":"2026-09-30T20:45:01.624Z","license_raw":null,"license_id":null,"consecutive_failure_count":0,"last_error_at":null,"last_error_message":null,"previewable":false,"personal_data":{"status":"none","basis":"no_person_column_cited","grain":"none","allowed":true,"columns":{"direct_identifiers":[],"family_names":[],"given_names":[],"attributes":[],"unresolved_names":[],"measures":[],"entity_identifiers":[]},"publication":null,"publication_evidence":null,"notice":"personal data: no cited column names a natural person (the cited columns are all this reads)"}},"datasets":[],"limits":[],"manifest":{"answer_sha256":"ee8ec2eb68c001fb3882bba32236c31fdd14c8bd0562b49be160680c2f21d26c","answer_sha256_rule":"sha256 (hex, UTF-8) of JSON.stringify(this body) after deleting the keys listed in manifest.stamped_keys from manifest, and deleting manifest itself if it is then empty. The hash was computed before the stamp existed, so no field of the stamp is inside it.","stamped_keys":["answer_sha256","answer_sha256_rule","stamped_keys","row_count","row_count_basis","live","live_basis","created_at","created_at_basis","durable_citation"],"row_count":10,"row_count_basis":"Objects that are elements of a JSON array anywhere in this body, excluding manifest. Not a claim about which collection is the answer. Largest single collection: maturity.rungs[] (7 rows).","live":true,"live_basis":"This body was produced by executing the request.","created_at":"2026-10-12T14:47:17.114Z","created_at_basis":"When this response body was assembled, deliberately OUTSIDE the hashed bytes so the same answer hashes identically on every request. Not the upstream read time — that is provenance[].retrieved_at. A zone-cached replay carries the assembly time, not your receipt time.","durable_citation":"This manifest is produced at response time and is NOT stored. A durable, replayable citation is persisted only on an explicit cite: GET /api/v1/entries/{id-or-slug}/evidence, or the MCP cite_query tool. Both are entry-scoped, because evidence_manifests is entry-shaped; a domain answer spanning several sources has no single entry and cannot be persisted through that path."}}