Ruzora Hiring Agent bronze
staging.ruzora.com
“Ruzora connects US companies with vetted senior software engineers in Latin America. Agents can browse blind profiles of vetted engineers, verify a Ruzora Vetted badge, request a vetted shortlist (within 72 hours), check fit for a hiring quote, send a candidate Ruzora's coding challenge and track a coding challenge's status. Profiles stay blind until a service agreement is signed. Read skills are open; skills that send data need a verified work email (verify_work_email, then confirm_work_email, then "Authorization: Bearer <buyer_token>"). Tasks complete synchronously; a refused task says the next step in its status message.
https://staging.ruzora.com/.well-known/agent-card.json its cardwe checked this the operator says this
Verified by agenttru.st
Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.
- Certificate
-
Issued by Let's Encrypt
domain-validated
Valid until 21 Dec 2026 as of our check on 9 Nov 2026.Control of the hostname was checked; nothing about who operates it.Key RSA 2048, signed SHA256-RSA, issued via YR1 under ISRG Root X1 — classical, as every publicly trusted certificate is today.
Names on this certificate (1)
staging.ruzora.com. - Connection
- TLS 1.3 · X25519MLKEM768 — post-quantum hybrid key exchange, agreed with our checker on 9 Nov 2026. What this means
- DANE / TLSA
- Not verified (TLSA query returned RCodeNameError)
- Discovery
- Well-known document
- AI-facing documents
-
Publishes
/llms.txt— “Ruzora” a curated map of the site's content for language modelsFetched from this host during verification. Neither document is how this agent was discovered. - First seen
- 9 Nov 2026
View verification details
- Assurance
- bronze Bronze — agent card fetched over HTTPS with a valid certificate
- Protocols
- A2A verified by handshake or card fetch, not merely advertised
- Hosted in
- 🇺🇸 US · Amazon.com, Inc. (AS16509)
- Last checked
- 4d ago
What this agent says it can do
Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks — the operator of staging.ruzora.com controls every word below.
Search Ruzora's Vetted Engineers
See blind profiles of senior engineers in Latin America who already passed Ruzora's coding and interview vetting and are available now, filtered by stack, level and US-hours overlap. Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"search_vetted_engineers","input":{"stack":["Python","Postgres"],"level":"Senior"}}
Verify a Ruzora Vetted Badge
Check that a candidate's "Ruzora Vetted" badge is real and current, which stacks it covers, and when the vetting happened. Pass the badge ID or badge URL. Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"verify_ruzora_badge","input":{"badge":"<the badge link exactly as the candidate shared it>"}}
Check a Ruzora Vetting Request
Check progress on a coding challenge you sent through Ruzora: not started, in progress, finished, or expired, and scores once the report is delivered. Pass the status page URL. Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"get_vetting_status","input":{"status_url":"https://www.ruzora.com/vetting/status/<token>"}}
Verify a Work Email
Step 1 before a Ruzora action that needs a verified buyer: emails the user a 6-digit code and a confirm link. The user reads the code back; confirm_work_email takes it. Sends the email address to Ruzora. Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"verify_work_email","input":{"work_email":"cto@yourcompany.com","for_tool":"request_vetted_shortlist"}}
Confirm a Work Email
Step 2: the 6-digit code the user read from the email, with the verification_id from verify_work_email (or the verification_id alone once they clicked the link), becomes a buyer_token for verified Ruzora actions, valid 7 days, and opens their Sol account. Sends the email and code to Ruzora. Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"confirm_work_email","input":{"work_email":"cto@yourcompany.com","code":"123456","verification_id":"<from verify_work_email>"}}
Request a Vetted Engineer Shortlist
Ask Ruzora for a shortlist of vetted senior engineers in Latin America for a role (ideally from a role scorecard). A vetted shortlist within 72 hours; profiles are blind until an agreement is signed. Needs a work email. Sends the name, email and company given to Ruzora. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"request_vetted_shortlist","input":{"full_name":"Alex Kim","work_email":"cto@yourcompany.com","company":"Your Company","role":"Senior backend engineer","seniority":"senior","required_skills":["Python","Postgres"]}}
Check Fit for a Hiring Quote
Answer Ruzora's 5 quick questions (roles, runway, budget per engineer, timing) to see whether a quote makes sense and the next step to it: usually a 15-minute call with the founder. Explains the flat monthly pricing; no price list. Sends the name, email and company given to Ruzora. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"check_hiring_fit","input":{"full_name":"Alex Kim","work_email":"cto@yourcompany.com","your_title":"cto_vp_eng","role_count":"one","runway":"12_18mo","seat_budget":"6000_7999","timing":"within_month"}}
Send a Candidate the Ruzora Coding Challenge
Runs Ruzora's coding challenge + technical questions (~25 min, free) on a candidate the user found; returns a candidate link and a status link. Needs the user's confirmation that the candidate knows. Sends both names, the email, company and profile links to Ruzora. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"send_coding_challenge","input":{"requester_name":"Alex Kim","work_email":"cto@yourcompany.com","company":"Your Company","role":"Senior backend engineer","candidate_name":"Candidate Name","candidate_informed":true}}
Get a Role's Hiring Status
See where a saved role stands with Ruzora: your company's agreement status and next step, the shortlisted engineers (blind until the kickoff call, named after) with your decision on each, and interview states. Read only. Never shows a price. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"get_role_status","input":{"role_id":"<role uuid from save_role>"}}
Record a Decision on a Candidate
Record your decision on a shortlisted engineer for one of your roles: advance, pass (with a short reason) or hired. Sends the decision and reason to Ruzora, which uses them to improve the next matches. It never contacts the engineer and never sends an offer. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"record_candidate_decision","input":{"role_id":"<role uuid>","role_candidate_id":"<from get_role_status>","decision":"advance"}}
Request Ruzora's MSA
Ask Ruzora for the standard MSA (master services agreement) for your company. Sends the request to Ruzora and returns the key terms in plain words and where the signing link goes: your verified work email, never this result. It never quotes a price. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"request_engagement","input":{"role_id":"<role uuid>"}}
Book a Call with Ruzora's Founder
Get the booking link for a video call with Ruzora's founder: "kickoff" after your MSA is signed (names and interviews open after it), or "before_signing" to talk first. Sends the request to Ruzora; nothing is booked until you pick a time. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"request_founder_call","input":{"kind":"kickoff"}}
Request an Interview with a Ruzora Engineer
Ask for an interview with a shortlisted Ruzora engineer. Sends nothing to Ruzora yet: interviews open after your company's MSA is signed and the kickoff call is done, and scheduling arrives in a later release, so today it returns your next step. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"request_interview","input":{"role_id":"<role uuid>","role_candidate_id":"<from get_role_status>"}}
Export a Role's Candidate Packet
Export a role's candidate packet as JSON for your ATS: each shortlisted engineer's profile, evidence and your decisions. Blind (no names, no contact details) until your company's kickoff call is done. Read only. Never shows a price. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"export_candidate_packet","input":{"role_id":"<role uuid>"}}
Import Your Own Candidates to a Role
Add up to 25 of your own candidates to one of your roles. Sends their names, emails and CV text to Ruzora, or returns a one-time upload link for a CSV or a ZIP of PDF CVs. They stay yours, deleted with the role and never added to Ruzora's bench. Each CV is checked for prompt injection. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"import_candidates","input":{"role_id":"<role uuid>","candidates":[{"name":"Jane Smith","cv_text":"<the CV as plain text>"}]}}
Rank Your Own Candidates for a Role
Score your own candidates on a role against its scorecard (stack, experience, must-haves), best first. Every score quotes the CV line it comes from. Also says how Ruzora's vetted bench compares when there is enough data. Read only; you decide. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"rank_candidates","input":{"role_id":"<role uuid>"}}
Summarize Your Own Candidates for a Role
One short page per own candidate on a role (headline, years, skills, strengths with the CV quote, gaps, your decision) plus a pipeline summary. Set blind to hide names and emails, e.g. to share with a colleague. Read only. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"summarize_candidates","input":{"role_id":"<role uuid>","blind":true}}
Confirm a Candidate Was Informed
Record that you told one of your own candidates their CV is processed by Ruzora for this role. Sends that confirmation to Ruzora; it is required before any challenge or assessment goes to them. It does not contact the candidate. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"confirm_candidate_informed","input":{"role_id":"<role uuid>","role_candidate_id":"<from import_candidates>"}}
Plan a Candidate's Next Assessment
Propose the next test for a candidate on one of your roles, without repeating one they did: blocks, length, stop rules and integrity flags. Ruzora engineers are already vetted (live coding happens in the interview). Read only: it sends nothing. Never shows a price. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"plan_next_assessment","input":{"role_id":"<role uuid>","role_candidate_id":"<from get_role_status>"}}
Create a Candidate Assessment
Create a take-home work sample for a candidate on one of your roles. Sends the request to Ruzora, which checks it in a sandbox before you see it. Call again with assessment_id for the preview, and with send: true to email it to the candidate, only when the user asks to send it. Never shows a price. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"create_assessment","input":{"role_id":"<role uuid>","role_candidate_id":"<from get_role_status>","type":"take_home"}}
Create a Live Coding Pad
Create a live coding pad for an interview: an interviewer link (language, problem, run, review flags) and a candidate link (type and run). Opens 15 min before, locks read only 2 h after. Sends the role and candidate ids to Ruzora. Paste or focus changes are review flags, never a rejection. Needs a verified work email: send "Authorization: Bearer <buyer_token>" (from verify_work_email then confirm_work_email). Call it with SendMessage: one data part {"skill": "<id>", "input": {...}} (mediaType application/json); the input fields are in the card extension https://www.ruzora.com/a2a/extensions/skill-input-schema/v1.
- {"skill":"create_live_pad","input":{"role_id":"<role uuid>","role_candidate_id":"<from get_role_status>"}}
What kind of listing
- Test or staging name: Its hostname carries the label “staging”, a name commonly given to test and staging sites.
Checked by agenttru.st against this listing's hostname and card — facts about a name or an address, not about what the agent does. How kinds are decided.
Technical agent card
Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.
- Provider
- Ruzora — what this agent says about itself; other agents claiming the same provider are not thereby related
- Protocol
- a2a
- Version
- 1.0.0
- Auth schemes
- ruzoraBuyerToken
- Extensions
-
https://www.ruzora.com/a2a/extensions/skill-input-schema/v1JSON Schema of each skill's "input" object (A2A v1.0.1). Optional: unknown fields are ignored, invalid input comes back as TASK_STATE_INPUT_REQUIRED naming the field.A2A protocol extensions the card declares. A declared payment extension (AP2, x402) means the operator says the agent can transact, not that agenttru.st has seen it do so. - Card completeness
- complete all eight fields required by a2a.proto v1.0
View all card details
- Capabilities
- extendedAgentCard extensions pushNotifications streaming
- Agent card
- https://staging.ruzora.com/.well-known/agent-card.json
Operate this agent and would rather not be listed? Request removal.