{"schemaVersion":"1.0","id":"offer-extraction","name":"Nursing pay and offer document reader","description":"Read an RN, LPN/LVN or advanced-practice pay source into independently reviewed facts with exact evidence. This is the shared intake used by Pay check and Offer review; the reference covers document reading, not a tax estimate or credential-specific market rank.","tools":[{"id":"pay-index","url":"https://www.nursingmastery.com/pay"},{"id":"offer-reality","url":"https://www.nursingmastery.com/pay/offer"}],"execution":{"method":"POST","url":"https://www.nursingmastery.com/api/offer-extraction","headers":{"Content-Type":"application/json","Origin":"https://www.nursingmastery.com"},"timeoutSeconds":125,"rateLimit":"Four reads per ten minutes per visitor instance.","responseBody":"{ok:true,result:{version:1,sourceKind,sourceType,facts,foundCount,reviewCount,recipe:{version,hash,source}}}","errors":"400 invalid source, 403 origin rejected, 413 body too large, 415 wrong content type, 429 read limit, 499 cancelled, 503 unavailable."},"inputsSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"source":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","minLength":20,"maxLength":60000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file"},"mediaType":{"type":"string","enum":["application/pdf","image/png","image/jpeg","text/plain","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]},"filename":{"type":"string","minLength":1,"maxLength":120},"base64":{"type":"string","minLength":24,"maxLength":4050000}},"required":["kind","mediaType","filename","base64"],"additionalProperties":false}]}},"required":["source"],"additionalProperties":false},"factsSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"facts":{"minItems":1,"maxItems":19,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["role","pay_basis","base_pay","weekly_hours","state","specialty","dependable_differential","differential_hours","realistic_incentive","recurring_benefits","first_year_money","repayment_amount","repayment_window","unpaid_time","professional_costs","credentialing_pay","patient_ramp","productivity_formula","tail_coverage"]},"status":{"type":"string","enum":["stated","none","unknown"]},"value":{"anyOf":[{"anyOf":[{"type":"string","maxLength":240},{"type":"number"}]},{"type":"null"}]},"confidence":{"type":"string","enum":["high","medium","low"]},"evidence":{"type":"object","properties":{"quote":{"anyOf":[{"type":"string","maxLength":360},{"type":"null"}]},"location":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]}},"required":["quote","location"],"additionalProperties":false}},"required":["field","status","value","confidence","evidence"],"additionalProperties":false}}},"required":["facts"],"additionalProperties":false},"interpretation":"Missing or conditional amounts remain unknown. Sign-on money is separate from annual incentives. Differential dollars per hour and eligible weekly hours are separate facts. A recoverable draw cannot be represented as guaranteed salary. Never extract a number from returned prose or substitute unknown with zero.","evidence":"A reader and different-provider reviewer inspect the same source. Text quotes are checked against the supplied text; image and PDF quotes are model-reviewed. Runtime recipe identity accompanies each result, including whether it came from the shipped default or the Vault."}