{"openapi":"3.1.0","info":{"title":"ScamCallID API","version":"0.1.0","description":"A robocall/scam-call pattern-recognition educational reference: common scam-call patterns with tell-tale signs, an independent-verification methodology, and a computed red-flags risk score from described call characteristics. All local, hand-curated -- never a real phone-number lookup.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://scamcallid.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/scamcallid/docs"},"termsOfService":"https://connectorbay.com/scamcallid/terms"},"servers":[{"url":"https://scamcallid.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/scamcallid/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_scam_patterns":{"post":{"operationId":"list_scam_patterns","summary":"The full catalog of common scam-call patterns this reference covers, each with a one-line summary of","description":"The full catalog of common scam-call patterns this reference covers, each with a one-line summary of\n    how it works. Use for \"what kinds of phone scams are there\", to see every key accepted by\n    get_scam_pattern.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_scam_patternsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_scam_pattern":{"post":{"operationId":"get_scam_pattern","summary":"Full detail on one scam-call pattern: how it works, its tell-tale signs, what the scammer is actually","description":"Full detail on one scam-call pattern: how it works, its tell-tale signs, what the scammer is actually\n    after, and a reality-check fact about how the real organization actually operates. Covers government/IRS\n    impersonation, tech-support scams, grandparent/family-emergency scams, prize/lottery scams, extended-car-\n    warranty robocalls, and one-ring/Wangiri callback scams. Use for \"someone called claiming to be the IRS\",\n    \"what's a grandparent scam\", \"I got a robocall about my car's warranty\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"pattern":{"description":"A scam-call pattern name or natural-language description.","examples":["irs scam","tech support scam","grandparent scam","car warranty robocall","one-ring callback"],"title":"Pattern","type":"string"}},"required":["pattern"],"title":"get_scam_patternArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/verification_methodology":{"post":{"operationId":"verification_methodology","summary":"The single most reliable method for checking whether a call claiming to be from an organization","description":"The single most reliable method for checking whether a call claiming to be from an organization\n    (government agency, bank, tech company) is real: hang up, then contact the organization yourself using a\n    number or channel you already trust -- never one the caller gave you -- since caller ID can be spoofed.\n    Use for \"how do I know if this call from my bank is real\", \"is there a way to verify a caller's\n    identity\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"verification_methodologyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/risk_flag_reference":{"post":{"operationId":"risk_flag_reference","summary":"Every red-flag characteristic score_call_risk accepts, with its scoring weight and why it matters.","description":"Every red-flag characteristic score_call_risk accepts, with its scoring weight and why it matters.\n    Use this to see the full checklist before describing a call, or to understand a score_call_risk result.\n    Use for \"what should I be looking for in a suspicious call\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"risk_flag_referenceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/score_call_risk":{"post":{"operationId":"score_call_risk","summary":"A computed red-flags risk score (0-100) from user-described call characteristics: which flags were","description":"A computed red-flags risk score (0-100) from user-described call characteristics: which flags were\n    present, their combined weighted score, a risk tier (none/low/moderate/high/critical), and an explanation\n    of why each matched flag matters. This scores a DESCRIBED call, not a real phone number -- it never looks\n    up or identifies who actually called. Use for \"score this call: they asked for gift cards and threatened\n    arrest\", \"how suspicious does this call sound\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"unsolicited_call":{"default":false,"description":"You did not initiate this contact.","title":"Unsolicited Call","type":"boolean"},"claimed_government_bank_or_tech_company":{"default":false,"description":"Caller claimed to be from a government agency, your bank, or a tech company.","title":"Claimed Government Bank Or Tech Company","type":"boolean"},"created_urgency_or_fear":{"default":false,"description":"Caller pressured you to act immediately or tried to scare you.","title":"Created Urgency Or Fear","type":"boolean"},"threatened_arrest_legal_action_or_account_closure":{"default":false,"description":"Caller threatened arrest, a lawsuit, deportation, or immediate account closure.","title":"Threatened Arrest Legal Action Or Account Closure","type":"boolean"},"asked_for_gift_cards_wire_or_crypto":{"default":false,"description":"Caller asked you to pay by gift card, wire transfer, or cryptocurrency.","title":"Asked For Gift Cards Wire Or Crypto","type":"boolean"},"asked_to_stay_on_the_line_or_keep_it_secret":{"default":false,"description":"Caller asked you to stay on the phone throughout, or to keep the call secret from family or your bank.","title":"Asked To Stay On The Line Or Keep It Secret","type":"boolean"},"asked_for_remote_computer_access":{"default":false,"description":"Caller asked you to install remote-access software or give them control of your computer.","title":"Asked For Remote Computer Access","type":"boolean"},"asked_to_verify_personal_or_account_info":{"default":false,"description":"Caller asked you to 'verify' a password, one-time code, full SSN, or account number.","title":"Asked To Verify Personal Or Account Info","type":"boolean"}},"title":"score_call_riskArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}