{"openapi":"3.0.1","info":{"title":"OpenContract Engine API","description":"API OCDS v1 — releases, records, packages, meta, stats, bulk, exports. Pagination seek par cursor opaque. Contrat gelé (ADR-007).","version":"v1"},"servers":[{"url":"https://recette.ocds.exos-data.org","description":"Generated server url"}],"tags":[{"name":"Parties","description":"Autocomplétion des acheteurs et fournisseurs des releases publiées"},{"name":"Bulk","description":"Téléchargements en masse — packages pré-générés compressés"},{"name":"Packages","description":"Release packages et record packages OCDS canoniques"},{"name":"Records","description":"Records OCDS (un par OCID) avec compiledRelease"},{"name":"Stats","description":"Statistiques publiques agrégées du portail — anonyme, cache 5 min"},{"name":"Exports","description":"Exports aplatis des releases — CSV, Excel, JSON, en streaming"},{"name":"Red Flags","description":"Indicateurs de vigilance confirmés (lecture publique, module redflags)"},{"name":"Releases","description":"Releases OCDS individuelles — lecture publique"},{"name":"Meta","description":"Métadonnées d'instance — publisher, version OCDS, langues, devise, modules, links"}],"paths":{"/api/v1/stats":{"get":{"tags":["Stats"],"operationId":"stats","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DashboardStats"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/releases":{"get":{"tags":["Releases"],"operationId":"list_3","parameters":[{"name":"phase","in":"query","required":false,"schema":{"type":"string"}},{"name":"buyerId","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"procurementMethod","in":"query","required":false,"schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"minAmount","in":"query","required":false,"schema":{"type":"number"}},{"name":"maxAmount","in":"query","required":false,"schema":{"type":"number"}},{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"tag","in":"query","required":false,"schema":{"type":"string"}},{"name":"ocid","in":"query","required":false,"schema":{"type":"string"}},{"name":"supplierId","in":"query","required":false,"schema":{"type":"string"}},{"name":"currency","in":"query","description":"Code devise ISO 4217 (insensible à la casse)","required":false,"schema":{"pattern":"^[A-Za-z]{3}$","type":"string","description":"Code devise ISO 4217 (insensible à la casse)"}},{"name":"sort","in":"query","description":"Tri ; valeurs nulles (date/montant) toujours en fin","required":false,"schema":{"type":"string","description":"Tri ; valeurs nulles (date/montant) toujours en fin","enum":["date_desc","date_asc","amount_desc","amount_asc"],"default":"date_desc"}},{"name":"page","in":"query","description":"Numéro de page 1-based, en complément de cursor (exclusif de cursor) ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide. Ignoré par /exports.","required":false,"schema":{"minimum":1,"type":"integer","description":"Numéro de page 1-based, en complément de cursor (exclusif de cursor) ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide. Ignoré par /exports.","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CursorPageReleaseSummaryDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/releases/{releaseId}":{"get":{"tags":["Releases"],"operationId":"byReleaseId","parameters":[{"name":"releaseId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{}}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/redflags":{"get":{"tags":["Red Flags"],"operationId":"listConfirmed","parameters":[{"name":"ocid","in":"query","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Numéro de page 1-based, exclusif de cursor ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor.","required":false,"schema":{"minimum":1,"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RedFlagPublicPageDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/redflags/rules":{"get":{"tags":["Red Flags"],"summary":"Règles appliquées des indicateurs","description":"Détecteurs actifs du pack avec leurs seuils (valeur, nature loi/derive/jugement, commentaire). Lecture seule : modifiable uniquement par livraison du pack.","operationId":"listRedFlagRules","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RedFlagRulesDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/records":{"get":{"tags":["Records"],"operationId":"list_4","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Numéro de page 1-based, exclusif de cursor ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide.","required":false,"schema":{"minimum":1,"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CursorPageRecordDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/records/{ocid}":{"get":{"tags":["Records"],"operationId":"byOcid","parameters":[{"name":"ocid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RecordDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/parties":{"get":{"tags":["Parties"],"operationId":"parties","parameters":[{"name":"role","in":"query","required":false,"schema":{"type":"string"}},{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PartySuggestionDto"}}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/packages/releases":{"get":{"tags":["Packages"],"operationId":"releasePackage","parameters":[{"name":"phase","in":"query","required":false,"schema":{"type":"string"}},{"name":"buyerId","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"procurementMethod","in":"query","required":false,"schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"minAmount","in":"query","required":false,"schema":{"type":"number"}},{"name":"maxAmount","in":"query","required":false,"schema":{"type":"number"}},{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"tag","in":"query","required":false,"schema":{"type":"string"}},{"name":"ocid","in":"query","required":false,"schema":{"type":"string"}},{"name":"supplierId","in":"query","required":false,"schema":{"type":"string"}},{"name":"currency","in":"query","description":"Code devise ISO 4217 (insensible à la casse)","required":false,"schema":{"pattern":"^[A-Za-z]{3}$","type":"string","description":"Code devise ISO 4217 (insensible à la casse)"}},{"name":"sort","in":"query","description":"Tri ; valeurs nulles (date/montant) toujours en fin","required":false,"schema":{"type":"string","description":"Tri ; valeurs nulles (date/montant) toujours en fin","enum":["date_desc","date_asc","amount_desc","amount_asc"],"default":"date_desc"}},{"name":"page","in":"query","description":"Numéro de page 1-based, en complément de cursor (exclusif de cursor) ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide. Ignoré par /exports.","required":false,"schema":{"minimum":1,"type":"integer","description":"Numéro de page 1-based, en complément de cursor (exclusif de cursor) ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide. Ignoré par /exports.","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReleasePackageDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/packages/releases/{releaseId}":{"get":{"tags":["Packages"],"description":"Canonical package containing a single immutable release","operationId":"releasePackageById","parameters":[{"name":"releaseId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReleasePackageDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/packages/releases/process/{ocid}":{"get":{"tags":["Packages"],"description":"All published releases of one process in a canonical package","operationId":"releasePackageByOcid","parameters":[{"name":"ocid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReleasePackageDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/packages/records":{"get":{"tags":["Packages"],"operationId":"recordPackage","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Numéro de page 1-based, exclusif de cursor ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide.","required":false,"schema":{"minimum":1,"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RecordPackageDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/packages/records/{ocid}":{"get":{"tags":["Packages"],"operationId":"recordPackageByOcid","parameters":[{"name":"ocid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RecordPackageDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/packages/records/{ocid}/complete":{"get":{"tags":["Packages"],"description":"Self-contained OCDS record package: all embedded releases, compiled and versioned releases","operationId":"completeRecordPackage","parameters":[{"name":"ocid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CompleteRecordPackageDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/meta":{"get":{"tags":["Meta"],"operationId":"meta","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MetaDto"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/exports/releases":{"get":{"tags":["Exports"],"operationId":"releases","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"csv"}},{"name":"phase","in":"query","required":false,"schema":{"type":"string"}},{"name":"buyerId","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"procurementMethod","in":"query","required":false,"schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"minAmount","in":"query","required":false,"schema":{"type":"number"}},{"name":"maxAmount","in":"query","required":false,"schema":{"type":"number"}},{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"tag","in":"query","required":false,"schema":{"type":"string"}},{"name":"ocid","in":"query","required":false,"schema":{"type":"string"}},{"name":"supplierId","in":"query","required":false,"schema":{"type":"string"}},{"name":"currency","in":"query","description":"Code devise ISO 4217 (insensible à la casse)","required":false,"schema":{"pattern":"^[A-Za-z]{3}$","type":"string","description":"Code devise ISO 4217 (insensible à la casse)"}},{"name":"sort","in":"query","description":"Tri ; valeurs nulles (date/montant) toujours en fin","required":false,"schema":{"type":"string","description":"Tri ; valeurs nulles (date/montant) toujours en fin","enum":["date_desc","date_asc","amount_desc","amount_asc"],"default":"date_desc"}},{"name":"page","in":"query","description":"Numéro de page 1-based, en complément de cursor (exclusif de cursor) ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide. Ignoré par /exports.","required":false,"schema":{"minimum":1,"type":"integer","description":"Numéro de page 1-based, en complément de cursor (exclusif de cursor) ; limité aux 10 000 premiers résultats (page × size), au-delà 400 PAGE_WINDOW_EXCEEDED : utiliser cursor. Une page au-delà du total renvoie une liste vide. Ignoré par /exports.","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StreamingResponseBody"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/bulk":{"get":{"tags":["Bulk"],"operationId":"manifest","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BulkFileDto"}}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/bulk/generations/{generationId}/files/{fileName}":{"get":{"tags":["Bulk"],"operationId":"generationFile","parameters":[{"name":"generationId","in":"path","required":true,"schema":{"type":"string"}},{"name":"fileName","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Modified-Since","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StreamingResponseBody"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}},"/api/v1/bulk/files/{fileName}":{"get":{"tags":["Bulk"],"operationId":"file","parameters":[{"name":"fileName","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Modified-Since","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StreamingResponseBody"}}}},"default":{"description":"Erreur HTTP standard","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OcdsProblemDetail"}}}}}}}},"components":{"schemas":{"OcdsProblemViolation":{"required":["field","message"],"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}},"OcdsProblemDetail":{"required":["code"],"type":"object","properties":{"type":{"type":"string","format":"uri","example":"about:blank"},"title":{"type":"string","example":"Bad Request"},"status":{"type":"integer","format":"int32","example":400},"detail":{"type":"string","example":"La requête est invalide."},"instance":{"type":"string","format":"uri"},"code":{"type":"string","example":"INVALID_REQUEST"},"violations":{"type":"array","items":{"$ref":"#/components/schemas/OcdsProblemViolation"}}},"description":"Erreur RFC 7807 enrichie d'un code métier stable."},"BuyerStat":{"required":["buyerId","buyerName","count"],"type":"object","properties":{"buyerId":{"type":"string"},"buyerName":{"type":"string","nullable":true},"count":{"type":"integer","format":"int64"}}},"CompetitionPoint":{"required":["avgTenderers","month","singleBidCount","tenderCount","withTenderersCount"],"type":"object","properties":{"month":{"type":"string"},"tenderCount":{"type":"integer","format":"int64"},"withTenderersCount":{"type":"integer","format":"int64"},"avgTenderers":{"type":"number","format":"double","nullable":true},"singleBidCount":{"type":"integer","format":"int64"}}},"CurrencyAmount":{"required":["completeness","currency","releaseCount","totalAmount"],"type":"object","properties":{"currency":{"type":"string"},"releaseCount":{"type":"integer","format":"int64"},"totalAmount":{"type":"number"},"completeness":{"type":"number","format":"double","nullable":true}}},"DashboardStats":{"required":["amountsByCurrency","competition","conformityRate","methodDistribution","monthlyAmounts","monthlyTrend","phaseDistribution","topBuyers","topSuppliers","totals"],"type":"object","properties":{"totals":{"$ref":"#/components/schemas/Totals"},"phaseDistribution":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"monthlyTrend":{"type":"array","items":{"$ref":"#/components/schemas/MonthlyPoint"}},"topBuyers":{"type":"array","items":{"$ref":"#/components/schemas/BuyerStat"}},"methodDistribution":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"conformityRate":{"type":"number","format":"double","nullable":true},"amountsByCurrency":{"type":"array","items":{"$ref":"#/components/schemas/CurrencyAmount"}},"monthlyAmounts":{"type":"array","items":{"$ref":"#/components/schemas/MonthlyAmountPoint"}},"topSuppliers":{"type":"array","items":{"$ref":"#/components/schemas/SupplierAmount"}},"competition":{"type":"array","items":{"$ref":"#/components/schemas/CompetitionPoint"}}}},"MonthlyAmountPoint":{"required":["amount","count","currency","month"],"type":"object","properties":{"month":{"type":"string"},"currency":{"type":"string"},"count":{"type":"integer","format":"int64"},"amount":{"type":"number"}}},"MonthlyPoint":{"required":["count","month"],"type":"object","properties":{"month":{"type":"string"},"count":{"type":"integer","format":"int64"}}},"SupplierAmount":{"required":["awardCount","currency","supplierId","supplierName","totalAmount"],"type":"object","properties":{"supplierId":{"type":"string"},"supplierName":{"type":"string","nullable":true},"currency":{"type":"string"},"awardCount":{"type":"integer","format":"int64"},"totalAmount":{"type":"number"}}},"Totals":{"required":["buyers","records","releases"],"type":"object","properties":{"releases":{"type":"integer","format":"int64"},"records":{"type":"integer","format":"int64"},"buyers":{"type":"integer","format":"int64"}}},"CursorPageReleaseSummaryDto":{"required":["items","nextCursor","page","size","totalCount","totalCountExact","totalPages"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseSummaryDto"}},"nextCursor":{"type":"string","nullable":true},"size":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int64","nullable":true},"totalCountExact":{"type":"boolean","nullable":true},"page":{"type":"integer","format":"int32","nullable":true},"totalPages":{"type":"integer","format":"int32","nullable":true}}},"ReleaseSummaryDto":{"required":["buyerId","buyerName","currency","date","ocid","phase","procurementMethod","releaseId","status","tag","title","totalAmount"],"type":"object","properties":{"ocid":{"type":"string"},"releaseId":{"type":"string"},"date":{"type":"string","format":"date-time","nullable":true},"tag":{"type":"array","nullable":true,"items":{"type":"string"}},"phase":{"type":"string","nullable":true},"buyerId":{"type":"string","nullable":true},"buyerName":{"type":"string","nullable":true},"totalAmount":{"type":"number","nullable":true},"currency":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"procurementMethod":{"type":"string","nullable":true},"title":{"type":"string","nullable":true}}},"RedFlagPublicDto":{"required":["confirmedAt","detectorId","methodologyPath","ocid","severity"],"type":"object","properties":{"ocid":{"type":"string"},"detectorId":{"type":"string"},"severity":{"type":"string"},"confirmedAt":{"type":"string","format":"date-time","nullable":true},"methodologyPath":{"type":"string"}}},"RedFlagPublicPageDto":{"required":["items","nextCursor","page","size","totalElements","totalPages"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RedFlagPublicDto"}},"page":{"type":"integer","format":"int32","nullable":true},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32","nullable":true},"nextCursor":{"type":"string","nullable":true}}},"RedFlagRuleDto":{"required":["enabled","id","severity","thresholds"],"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"severity":{"type":"string"},"thresholds":{"type":"array","items":{"$ref":"#/components/schemas/RedFlagThresholdDto"}}}},"RedFlagRulesDto":{"required":["detectors","rulesVersion"],"type":"object","properties":{"rulesVersion":{"type":"string","nullable":true},"detectors":{"type":"array","items":{"$ref":"#/components/schemas/RedFlagRuleDto"}}}},"RedFlagThresholdDto":{"required":["comment","key","nature","value"],"type":"object","properties":{"key":{"type":"string"},"value":{},"nature":{"type":"string","enum":["loi","derive","jugement"]},"comment":{"type":"string"}}},"CursorPageRecordDto":{"required":["items","nextCursor","page","size","totalCount","totalCountExact","totalPages"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RecordDto"}},"nextCursor":{"type":"string","nullable":true},"size":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int64","nullable":true},"totalCountExact":{"type":"boolean","nullable":true},"page":{"type":"integer","format":"int32","nullable":true},"totalPages":{"type":"integer","format":"int32","nullable":true}}},"LinkedReleaseDto":{"required":["url"],"type":"object","properties":{"url":{"type":"string"},"date":{"type":"string"},"tag":{"type":"array","items":{"type":"string"}}}},"RecordDto":{"required":["ocid"],"type":"object","properties":{"ocid":{"type":"string"},"releases":{"type":"array","items":{"$ref":"#/components/schemas/LinkedReleaseDto"}},"compiledRelease":{"type":"object","additionalProperties":{}},"versionedRelease":{"type":"object","additionalProperties":{}}}},"PartySuggestionDto":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"PackageLinksDto":{"type":"object","properties":{"next":{"type":"string"}}},"PublisherDto":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"scheme":{"type":"string"},"uid":{"type":"string"},"uri":{"type":"string"},"contactEmail":{"type":"string"}}},"ReleasePackageDto":{"type":"object","properties":{"uri":{"type":"string"},"version":{"type":"string"},"extensions":{"type":"array","items":{"type":"string"}},"publishedDate":{"type":"string","format":"date-time"},"publisher":{"$ref":"#/components/schemas/PublisherDto"},"license":{"type":"string"},"publicationPolicy":{"type":"string"},"links":{"$ref":"#/components/schemas/PackageLinksDto"},"releases":{"type":"array","items":{"type":"object","additionalProperties":{}}}}},"RecordPackageDto":{"type":"object","properties":{"uri":{"type":"string"},"version":{"type":"string"},"extensions":{"type":"array","items":{"type":"string"}},"publishedDate":{"type":"string","format":"date-time"},"publisher":{"$ref":"#/components/schemas/PublisherDto"},"license":{"type":"string"},"publicationPolicy":{"type":"string"},"links":{"$ref":"#/components/schemas/PackageLinksDto"},"records":{"type":"array","items":{"$ref":"#/components/schemas/RecordDto"}}}},"CompleteRecordPackageDto":{"type":"object","properties":{"uri":{"type":"string"},"version":{"type":"string"},"extensions":{"type":"array","items":{"type":"string"}},"publishedDate":{"type":"string","format":"date-time"},"publisher":{"$ref":"#/components/schemas/PublisherDto"},"license":{"type":"string"},"publicationPolicy":{"type":"string"},"records":{"type":"array","items":{"$ref":"#/components/schemas/EmbeddedRecordDto"}}}},"EmbeddedRecordDto":{"type":"object","properties":{"ocid":{"type":"string"},"releases":{"type":"array","items":{"type":"object","additionalProperties":{}}},"compiledRelease":{"type":"object","additionalProperties":{}},"versionedRelease":{"type":"object","additionalProperties":{}}}},"BrandingSettings":{"type":"object","properties":{"brandName":{"maxLength":80,"minLength":0,"type":"string","nullable":true},"logoUrl":{"maxLength":2048,"minLength":0,"pattern":"(https://[^\\s\"'<>\\\\]+|/(?![/\\\\])[^\\s\"'<>\\\\]*)","type":"string","nullable":true},"primaryColor":{"pattern":"#[0-9a-fA-F]{6}","type":"string","nullable":true},"accentColor":{"pattern":"#[0-9a-fA-F]{6}","type":"string","nullable":true},"footerText":{"maxLength":300,"minLength":0,"type":"string","nullable":true}}},"MetaDto":{"required":["activeModules","countryCode","countryName","defaultCurrency","defaultLanguage","demo","languages","links","ocdsVersion","ocidPrefix","publisher"],"type":"object","properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"publisher":{"$ref":"#/components/schemas/PublisherDto"},"ocdsVersion":{"type":"string"},"ocidPrefix":{"type":"string"},"defaultLanguage":{"type":"string"},"languages":{"type":"array","items":{"type":"string"}},"defaultCurrency":{"type":"string"},"activeModules":{"type":"array","items":{"type":"string"}},"links":{"type":"object","additionalProperties":{"type":"string"}},"branding":{"$ref":"#/components/schemas/BrandingSettings"},"demo":{"type":"boolean"},"publicationPolicyDetails":{"$ref":"#/components/schemas/PublicationPolicyDetails"}}},"PublicationPolicyDetails":{"type":"object","properties":{"scope":{"type":"string"},"sources":{"type":"string"},"frequency":{"type":"string"},"exclusions":{"type":"string"},"customCodes":{"type":"string"},"changePolicy":{"type":"string"}}},"StreamingResponseBody":{"type":"object"},"BulkFileDto":{"required":["downloadUrl","fileName","generationId","itemCount","kind","lastModified","period","sha256","sizeBytes"],"type":"object","properties":{"fileName":{"type":"string"},"kind":{"type":"string"},"period":{"type":"string"},"itemCount":{"type":"integer","format":"int64"},"sizeBytes":{"type":"integer","format":"int64"},"lastModified":{"type":"string","format":"date-time"},"generationId":{"type":"string"},"sha256":{"type":"string"},"downloadUrl":{"type":"string"}}}},"securitySchemes":{"ApiKey":{"type":"apiKey","name":"X-API-Key","in":"header"}}}}