{"openapi":"3.1.0","info":{"title":"Mireye Scout API","version":"0.2.0"},"paths":{"/v1/auth/request-link":{"post":{"tags":["auth"],"summary":"Request Link","description":"Issue a fresh magic link. ALWAYS 200 with the same shape whether or not the email\nexists — account enumeration is the attack this endpoint must not enable.","operationId":"request_link_v1_auth_request_link_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Request Link V1 Auth Request Link Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/verify":{"post":{"tags":["auth"],"summary":"Verify","description":"Consume a magic link -> a session. Single-use, 15-minute window, digest-compared.","operationId":"verify_v1_auth_verify_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Verify V1 Auth Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/logout":{"post":{"tags":["auth"],"summary":"Logout","description":"Revoke the presented session token (legacy shared-secret and dev sessions have no\nper-session row to revoke — that's a no-op, not an error).","operationId":"logout_v1_auth_logout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Logout V1 Auth Logout Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me":{"get":{"tags":["auth"],"summary":"Me","description":"Session probe: tenant + identity + role (the SPA gates UI affordances off `role`).","operationId":"me_v1_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Me V1 Me Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/buyboxes":{"get":{"tags":["buyboxes"],"summary":"List Buyboxes","operationId":"list_buyboxes_v1_buyboxes_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response List Buyboxes V1 Buyboxes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["buyboxes"],"summary":"Create Buybox","operationId":"create_buybox_v1_buyboxes_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Buybox V1 Buyboxes Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/buyboxes/{name}":{"put":{"tags":["buyboxes"],"summary":"Update Buybox","operationId":"update_buybox_v1_buyboxes__name__put","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Buybox V1 Buyboxes  Name  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["buyboxes"],"summary":"Delete Buybox","operationId":"delete_buybox_v1_buyboxes__name__delete","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/buyboxes/parse":{"post":{"tags":["buyboxes"],"summary":"Parse Buybox","operationId":"parse_buybox_v1_buyboxes_parse_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Parse Buybox V1 Buyboxes Parse Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/discovery/query":{"post":{"tags":["discovery-v2"],"summary":"Discovery Query","operationId":"discovery_query_v2_discovery_query_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryQueryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryQueryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/parcels/resolve":{"post":{"tags":["discovery-v2"],"summary":"Resolve Parcel","operationId":"resolve_parcel_v2_parcels_resolve_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelResolveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelResolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/pipeline":{"post":{"tags":["discovery-v2"],"summary":"Promote To Pipeline","operationId":"promote_to_pipeline_v2_pipeline_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/pipeline/direct":{"post":{"tags":["discovery-v2"],"summary":"Direct Screen To Pipeline","description":"Screen one prepared parcel against a saved buy box, whether or not it is eligible.\n\n``POST /v2/pipeline`` answers \"add this ranked lead\" and correctly refuses a parcel that\nfails a must-have. This route answers the other half of the product requirement — \"screen\nthis specific site\" — and refuses nothing that exists in the market: a failing parcel is\nsaved with verdict HOLD and its real failed evidence, so the customer gets an answer\ninstead of a dead end.\n\nEverything else is identical to a discovery promotion, deliberately: same entitlement and\nvintage checks, same canonical spec identity, same single transaction, same idempotency,\nand the same hard boundary — no provider call, no contact, no cost-ledger row. The saved\nrow never enters discovery results; discovery reads parcel facts, not promoted matches.","operationId":"direct_screen_to_pipeline_v2_pipeline_direct_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectPromoteRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs":{"get":{"tags":["diligence"],"summary":"List Jobs","operationId":"list_jobs_v1_internal_diligence_jobs_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"queued","title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":100000,"minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Jobs V1 Internal Diligence Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/spend":{"get":{"tags":["diligence"],"summary":"Daily Spend","description":"This organization's recorded provider spend for one UTC calendar day.\n\nAn automatic worker has to enforce a per-day spend ceiling, and the only trustworthy\nnumber for that is the ledger Scout writes in the same transaction as each step result.\nReading it back out beats a worker totalling its own local logs: a restarted, redeployed\nor duplicated worker forgets what it spent, and the ledger does not.\n\nThe total is deliberately EVERY `cost_ledger` row for the org on that day, not only\nautomatic-worker rows. The ledger carries no actor column, and the direction that matters\nis conservative: an operator's manual run must eat into the automatic budget, never hide\nfrom it.\n\n``created_at`` is a timezone-aware column, so the [day, day+1) window is a real UTC day\nregardless of the server's local zone.","operationId":"daily_spend_v1_internal_diligence_spend_get","parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"UTC calendar day, YYYY-MM-DD","title":"Day"},"description":"UTC calendar day, YYYY-MM-DD"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Daily Spend V1 Internal Diligence Spend Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs/{job_id}/authorize":{"post":{"tags":["diligence"],"summary":"Authorize","operationId":"authorize_v1_internal_diligence_jobs__job_id__authorize_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Authorize V1 Internal Diligence Jobs  Job Id  Authorize Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs/{job_id}":{"get":{"tags":["diligence"],"summary":"Get Job","operationId":"get_job_v1_internal_diligence_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Job V1 Internal Diligence Jobs  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs/{job_id}/claim":{"post":{"tags":["diligence"],"summary":"Claim","operationId":"claim_v1_internal_diligence_jobs__job_id__claim_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Claim V1 Internal Diligence Jobs  Job Id  Claim Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs/{job_id}/steps/{step}/start":{"post":{"tags":["diligence"],"summary":"Start","operationId":"start_v1_internal_diligence_jobs__job_id__steps__step__start_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"step","in":"path","required":true,"schema":{"type":"string","title":"Step"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimedRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start V1 Internal Diligence Jobs  Job Id  Steps  Step  Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs/{job_id}/steps/{step}/complete":{"post":{"tags":["diligence"],"summary":"Complete","operationId":"complete_v1_internal_diligence_jobs__job_id__steps__step__complete_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"step","in":"path","required":true,"schema":{"type":"string","title":"Step"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Complete V1 Internal Diligence Jobs  Job Id  Steps  Step  Complete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs/{job_id}/steps/{step}/fail":{"post":{"tags":["diligence"],"summary":"Fail","operationId":"fail_v1_internal_diligence_jobs__job_id__steps__step__fail_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"step","in":"path","required":true,"schema":{"type":"string","title":"Step"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Fail V1 Internal Diligence Jobs  Job Id  Steps  Step  Fail Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/diligence/jobs/{job_id}/steps/{step}/reconcile":{"post":{"tags":["diligence"],"summary":"Reconcile","description":"Persist a confirmed result after lease expiry; this route never retries a provider.","operationId":"reconcile_v1_internal_diligence_jobs__job_id__steps__step__reconcile_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"step","in":"path","required":true,"schema":{"type":"string","title":"Step"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconcileRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Reconcile V1 Internal Diligence Jobs  Job Id  Steps  Step  Reconcile Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/lead-requests":{"post":{"tags":["ingest"],"summary":"Create Lead Request","operationId":"create_lead_request_v1_lead_requests_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Lead Request V1 Lead Requests Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["ingest"],"summary":"List Lead Requests","operationId":"list_lead_requests_v1_lead_requests_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Lead Requests V1 Lead Requests Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/leads/import":{"post":{"tags":["ingest"],"summary":"Import Leads","operationId":"import_leads_v1_leads_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Import Leads V1 Leads Import Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries":{"get":{"tags":["ingest"],"summary":"List Deliveries","operationId":"list_deliveries_v1_deliveries_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Deliveries V1 Deliveries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/pdf":{"get":{"tags":["ingest"],"summary":"Delivery Pdf","operationId":"delivery_pdf_v1_deliveries__delivery_id__pdf_get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/properties/{property_id}/pdf":{"get":{"tags":["ingest"],"summary":"Property Pdf","operationId":"property_pdf_v1_properties__property_id__pdf_get","parameters":[{"name":"property_id","in":"path","required":true,"schema":{"type":"string","title":"Property Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/hosting-capacity/estimate":{"post":{"tags":["hosting-capacity"],"summary":"Estimate","operationId":"estimate_v1_internal_hosting_capacity_estimate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/leads/find":{"post":{"tags":["leads"],"summary":"Find Leads","description":"The buy-box leads feed (cache-only). `count_only=true` returns just the live match count +\nper-verdict split (cheap GROUP BY) for the builder; otherwise it also returns the ranked rows.","operationId":"find_leads_v1_leads_find_post","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Find Leads V1 Leads Find Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pipeline":{"get":{"tags":["pipeline"],"summary":"List Pipeline","description":"The Kanban board: this org's pipeline items joined to their properties, ordered by\n(stage, position). Archived cards are hidden unless `archived=true`; `stage` filters to one\ncolumn.","operationId":"list_pipeline_v1_pipeline_get","parameters":[{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Archived"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Pipeline V1 Pipeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["pipeline"],"summary":"Add To Pipeline","description":"Add a property (lead) to the Kanban pipeline. Idempotent per property: a second add\nreuses the existing pipeline item. Returns the pipeline item with stage + screen_status.","operationId":"add_to_pipeline_v1_pipeline_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Add To Pipeline V1 Pipeline Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pipeline/{item_id}":{"patch":{"tags":["pipeline"],"summary":"Patch Pipeline Item","description":"Move a Kanban card: set `stage`, edit `notes`, or `archived` (true -> stage='archived';\nfalse -> restore to 'new'). An explicit `stage` takes precedence over `archived`. 404 if the\nitem isn't in this org; 422 on an unknown stage.","operationId":"patch_pipeline_item_v1_pipeline__item_id__patch","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Patch Pipeline Item V1 Pipeline  Item Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/properties/{property_id}":{"get":{"tags":["properties"],"summary":"Get Property","description":"The property, stored deep screen, contacts and customer-readable diligence result.\n\nThis is a read surface: it never calls a provider or advances a diligence job.","operationId":"get_property_v1_properties__property_id__get","parameters":[{"name":"property_id","in":"path","required":true,"schema":{"type":"string","title":"Property Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Property V1 Properties  Property Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/properties/{property_id}/reveal":{"post":{"tags":["properties"],"summary":"Reveal Property Contact","description":"Legacy internal enrichment seam.\n\nCustomer sessions cannot author provider results or internal costs. Until pipeline promotion\ncreates a server-owned diligence job, only an admin/worker may write the contact and matching\ncost-ledger entry through this compatibility endpoint.","operationId":"reveal_property_contact_v1_properties__property_id__reveal_post","parameters":[{"name":"property_id","in":"path","required":true,"schema":{"type":"string","title":"Property Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Tenant","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Reveal Property Contact V1 Properties  Property Id  Reveal Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internal/utility-findings":{"get":{"tags":["utility-findings"],"summary":"Findings","operationId":"findings_v1_internal_utility_findings_get","parameters":[{"name":"vintage_id","in":"query","required":true,"schema":{"type":"string","maxLength":128,"title":"Vintage Id"}},{"name":"parcel_key","in":"query","required":true,"schema":{"type":"string","maxLength":256,"title":"Parcel Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-mireye-token-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Mireye-Token-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthz":{"get":{"summary":"Healthz","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Healthz Healthz Get"}}}}}}},"/readyz":{"get":{"summary":"Readyz","description":"Traffic readiness: the database is reachable and migrated for this exact build.","operationId":"readyz_readyz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AuthorizeRequest":{"properties":{"max_cost_usd":{"anyOf":[{"type":"number","maximum":100.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$"}],"title":"Max Cost Usd"},"note":{"type":"string","maxLength":500,"minLength":1,"title":"Note"}},"additionalProperties":false,"type":"object","required":["max_cost_usd","note"],"title":"AuthorizeRequest"},"ClaimRequest":{"properties":{"worker_id":{"type":"string","maxLength":128,"minLength":1,"title":"Worker Id"},"lease_seconds":{"type":"integer","maximum":3600.0,"minimum":60.0,"title":"Lease Seconds","default":3600}},"additionalProperties":false,"type":"object","required":["worker_id"],"title":"ClaimRequest"},"ClaimedRequest":{"properties":{"claim_token":{"type":"string","format":"uuid","title":"Claim Token"}},"additionalProperties":false,"type":"object","required":["claim_token"],"title":"ClaimedRequest"},"CompleteRequest":{"properties":{"status":{"type":"string","enum":["ready","partial","needs_review"],"title":"Status"},"provider":{"type":"string","maxLength":128,"minLength":1,"title":"Provider"},"provider_version":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Provider Version"},"provider_request_id":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Provider Request Id"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"citations":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":100,"title":"Citations"},"cost_usd":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$"}],"title":"Cost Usd","default":"0"},"claim_token":{"type":"string","format":"uuid","title":"Claim Token"}},"additionalProperties":false,"type":"object","required":["status","provider","claim_token"],"title":"CompleteRequest"},"Cutoffs":{"properties":{"pursue":{"type":"number","title":"Pursue"},"monitor":{"type":"number","title":"Monitor"}},"additionalProperties":false,"type":"object","required":["pursue","monitor"],"title":"Cutoffs"},"DirectPromoteRequest":{"properties":{"parcel_key":{"type":"string","maxLength":500,"minLength":1,"title":"Parcel Key"},"buy_box":{"type":"string","maxLength":255,"minLength":1,"title":"Buy Box"},"vintage_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Vintage Id"}},"additionalProperties":false,"type":"object","required":["parcel_key","buy_box"],"title":"DirectPromoteRequest","description":"Screen one specific prepared parcel against a SAVED buy box.\n\nNo draft and no query hash: this is not \"add row N of a result set\", it is \"screen this\nsite\", so the saved spec is the only sensible yardstick and the server derives the query\nidentity itself.\n\n``vintage_id`` is the vintage the caller resolved the parcel against. It is optional for\nolder clients but strongly recommended: without it, an operator promoting a new vintage\nbetween resolve and screen would silently screen different facts than the user saw."},"DiscoveryDraft":{"properties":{"markets":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":1,"minItems":1,"title":"Markets"},"must":{"items":{"$ref":"#/components/schemas/Rule"},"type":"array","maxItems":50,"title":"Must"},"preferred":{"items":{"$ref":"#/components/schemas/PreferredRule"},"type":"array","maxItems":50,"title":"Preferred"},"verdict_cutoffs":{"$ref":"#/components/schemas/Cutoffs"}},"additionalProperties":false,"type":"object","required":["markets","verdict_cutoffs"],"title":"DiscoveryDraft"},"DiscoveryQueryRequest":{"properties":{"buy_box":{"type":"string","maxLength":255,"minLength":1,"title":"Buy Box"},"draft":{"anyOf":[{"$ref":"#/components/schemas/DiscoveryDraft"},{"type":"null"}]},"limit":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Limit","default":50},"cursor":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Cursor"}},"additionalProperties":false,"type":"object","required":["buy_box"],"title":"DiscoveryQueryRequest"},"DiscoveryQueryResponse":{"properties":{"market":{"type":"string","title":"Market"},"market_id":{"type":"string","format":"uuid","title":"Market Id"},"vintage_id":{"type":"string","format":"uuid","title":"Vintage Id"},"query_hash":{"type":"string","title":"Query Hash"},"applied_spec":{"$ref":"#/components/schemas/DiscoveryDraft"},"denominator":{"type":"integer","title":"Denominator"},"preference_weight_total":{"type":"number","title":"Preference Weight Total"},"eligible_total":{"type":"integer","title":"Eligible Total"},"results":{"items":{"$ref":"#/components/schemas/DiscoveryResult"},"type":"array","title":"Results"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"additionalProperties":false,"type":"object","required":["market","market_id","vintage_id","query_hash","applied_spec","denominator","preference_weight_total","eligible_total","results","next_cursor"],"title":"DiscoveryQueryResponse"},"DiscoveryResult":{"properties":{"parcel_key":{"type":"string","title":"Parcel Key"},"apn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apn"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"acres":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Acres"},"developable_acres":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Developable Acres"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"bbox":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Bbox"},"facts":{"additionalProperties":true,"type":"object","title":"Facts"},"provenance":{"additionalProperties":true,"type":"object","title":"Provenance"},"score":{"type":"number","title":"Score"},"verdict":{"type":"string","enum":["PURSUE","MONITOR","HOLD"],"title":"Verdict"},"review_required":{"type":"boolean","title":"Review Required"},"unknowns":{"items":{"type":"string"},"type":"array","title":"Unknowns"},"score_breakdown":{"$ref":"#/components/schemas/ScoreBreakdown"}},"additionalProperties":false,"type":"object","required":["parcel_key","apn","address","lat","lon","acres","developable_acres","geometry","bbox","facts","provenance","score","verdict","review_required","unknowns","score_breakdown"],"title":"DiscoveryResult"},"EstimateRequest":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"},"state":{"type":"string","pattern":"^[A-Za-z]{2}$","title":"State"},"utility_key":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Utility Key"},"utility_name":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Utility Name"},"candidate_operators":{"items":{"type":"string"},"type":"array","maxItems":2,"title":"Candidate Operators"}},"additionalProperties":false,"type":"object","required":["latitude","longitude","state"],"title":"EstimateRequest"},"FailRequest":{"properties":{"claim_token":{"type":"string","format":"uuid","title":"Claim Token"},"code":{"type":"string","maxLength":128,"minLength":1,"title":"Code"},"message":{"type":"string","maxLength":2000,"minLength":1,"title":"Message"},"retryable":{"type":"boolean","title":"Retryable","default":false}},"additionalProperties":false,"type":"object","required":["claim_token","code","message"],"title":"FailRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MustEvidence":{"properties":{"field":{"type":"string","title":"Field"},"value":{"title":"Value"},"status":{"type":"string","enum":["pass","fail","unknown"],"title":"Status"}},"additionalProperties":false,"type":"object","required":["field","value","status"],"title":"MustEvidence"},"ParcelCandidate":{"properties":{"market":{"type":"string","title":"Market"},"vintage_id":{"type":"string","format":"uuid","title":"Vintage Id"},"parcel_key":{"type":"string","title":"Parcel Key"},"apn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apn"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"typed":{"additionalProperties":true,"type":"object","title":"Typed"},"free_facts":{"additionalProperties":true,"type":"object","title":"Free Facts"},"derived":{"additionalProperties":true,"type":"object","title":"Derived"},"provenance":{"additionalProperties":true,"type":"object","title":"Provenance"}},"additionalProperties":false,"type":"object","required":["market","vintage_id","parcel_key","apn","address","lat","lon","geometry","typed","free_facts","derived","provenance"],"title":"ParcelCandidate"},"ParcelResolveRequest":{"properties":{"market":{"type":"string","maxLength":100,"minLength":1,"title":"Market"},"apn":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Apn"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"}},"additionalProperties":false,"type":"object","required":["market"],"title":"ParcelResolveRequest"},"ParcelResolveResponse":{"properties":{"status":{"type":"string","enum":["resolved","ambiguous","not_found"],"title":"Status"},"market":{"type":"string","title":"Market"},"market_id":{"type":"string","format":"uuid","title":"Market Id"},"vintage_id":{"type":"string","format":"uuid","title":"Vintage Id"},"candidates":{"items":{"$ref":"#/components/schemas/ParcelCandidate"},"type":"array","title":"Candidates"}},"additionalProperties":false,"type":"object","required":["status","market","market_id","vintage_id","candidates"],"title":"ParcelResolveResponse"},"PreferredEvidence":{"properties":{"field":{"type":"string","title":"Field"},"value":{"title":"Value"},"weight":{"type":"number","title":"Weight"},"contribution":{"type":"number","title":"Contribution"}},"additionalProperties":false,"type":"object","required":["field","value","weight","contribution"],"title":"PreferredEvidence"},"PreferredRule":{"properties":{"field":{"type":"string","maxLength":100,"minLength":1,"title":"Field"},"op":{"type":"string","maxLength":20,"minLength":1,"title":"Op"},"value":{"title":"Value"},"weight":{"type":"number","title":"Weight"}},"additionalProperties":false,"type":"object","required":["field","op","value","weight"],"title":"PreferredRule"},"PromoteRequest":{"properties":{"parcel_key":{"type":"string","maxLength":500,"minLength":1,"title":"Parcel Key"},"buy_box":{"type":"string","maxLength":255,"minLength":1,"title":"Buy Box"},"query_hash":{"type":"string","maxLength":64,"minLength":64,"title":"Query Hash"},"draft":{"anyOf":[{"$ref":"#/components/schemas/DiscoveryDraft"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["parcel_key","buy_box","query_hash"],"title":"PromoteRequest"},"PromoteResponse":{"properties":{"property_id":{"type":"string","format":"uuid","title":"Property Id"},"pipeline_item_id":{"type":"string","format":"uuid","title":"Pipeline Item Id"},"buy_box_match_id":{"type":"string","format":"uuid","title":"Buy Box Match Id"},"diligence_job_id":{"type":"string","format":"uuid","title":"Diligence Job Id"},"status":{"type":"string","title":"Status"}},"additionalProperties":false,"type":"object","required":["property_id","pipeline_item_id","buy_box_match_id","diligence_job_id","status"],"title":"PromoteResponse"},"ReconcileRequest":{"properties":{"status":{"type":"string","enum":["ready","partial","needs_review"],"title":"Status"},"provider":{"type":"string","maxLength":128,"minLength":1,"title":"Provider"},"provider_version":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Provider Version"},"provider_request_id":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Provider Request Id"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"citations":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":100,"title":"Citations"},"cost_usd":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$"}],"title":"Cost Usd","default":"0"},"confirmed_no_retry":{"type":"boolean","const":true,"title":"Confirmed No Retry"}},"additionalProperties":false,"type":"object","required":["status","provider","confirmed_no_retry"],"title":"ReconcileRequest"},"Rule":{"properties":{"field":{"type":"string","maxLength":100,"minLength":1,"title":"Field"},"op":{"type":"string","maxLength":20,"minLength":1,"title":"Op"},"value":{"title":"Value"},"unknown":{"anyOf":[{"type":"string","enum":["exclude","review"]},{"type":"null"}],"title":"Unknown"}},"additionalProperties":false,"type":"object","required":["field","op","value"],"title":"Rule"},"ScoreBreakdown":{"properties":{"must":{"items":{"$ref":"#/components/schemas/MustEvidence"},"type":"array","title":"Must"},"preferred":{"items":{"$ref":"#/components/schemas/PreferredEvidence"},"type":"array","title":"Preferred"}},"additionalProperties":false,"type":"object","required":["must","preferred"],"title":"ScoreBreakdown"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}