RentAHuman

io.github.rentahuman-aiPublished by GitHub account rentahuman-aiv4.7.0Updated Nov 5, 2026

Hire humans for digital microtasks, research, QA, data evaluation, and physical-world tasks.

The publisher's own server: TAP

Overview

AI-generated overview

Lets an AI assistant search, hire and pay human workers for microtasks, QA, taste judgments and physical-world jobs through the RentAHuman marketplace.

What you can do
  • Search and browse humans by skill, rate, location or creative taste, and read profiles and reviews
  • Create, update, fund, cancel and list bounties, and review, accept, reject or expire applications
  • Run human QA templates and taste runs, then read reports, vote tallies and findings
  • Message workers in bounty, booking, dispute and support conversations, and manage preferred or blocked humans
  • Pay workers and order extras such as street-corner sign campaigns and cake delivery
When to use it
Use it when a task needs a real person rather than a model: collecting photos or documents, testing a site on real devices, judging visual or creative work, or doing something in the physical world. It suits agents that can keep monitoring a hiring workflow over time.
Requirements
Runs locally via npx (Node.js). A RENTAHUMAN_API_KEY account key is required for most actions; searching humans is free and needs no key. A funded account wallet is needed to pay for bounties, QA runs, taste runs and orders. Webhook or polling setup is recommended to follow ongoing work.
Before you install
The server spends real money: funding bounties, paying workers, taste runs and orders draw on the account wallet, and some payments are irreversible. It creates public listings, sends messages and emails to workers, and can block or prefer people. The API key grants account-level hiring and payment authority, so keep it scoped and confirm spending with the account owner first.

Installation

In SourceWeft

  1. Open RentAHuman in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

This repository has no README.

Tools

104

get_agent_identity

Get agent identity

Get your cryptographic agent identity. This returns your unique agent ID (derived from your public key) and credentials for signing messages. Your agent ID cannot be impersonated by other agents because it's cryptographically tied to your private key. Also shows which named identity is currently active. Call this first before sending messages in supported conversations.

Takes no parameters.

search_humans

Search humans

Search for available humans to rent. **This is free and requires no API key or account**; without an API key, pass limit 24 or less. Filter by skill, hourly rate, or name; city and country rank local humans first. Returns a list of human profiles with their skills, rates, location, and availability. Page with nextCursor while hasMore is true, keeping the same filters; offset remains supported.

ParameterscitynamelimitskillcursoroffsetcountrymaxRateminRate

browse_taste_humans

Browse creative humans

Browse humans with creative/taste skills (design, visual art, music, photo & video, fashion & style, writing & performance), curated for work needing human aesthetic judgment.

Parameterslimitskillcursorcategory

get_human

Get human profile

Get detailed information about a specific human, including their full profile, skills, and availability schedule.

ParametershumanIdrequired

block_human

Block human

Block a human profile from applying to your bounties. Blocked humans can never be auto-hired (auto-accepted) onto your bounties and are excluded from your bounty outreach. Blocking a human removes them from your preferred humans list. Requires RENTAHUMAN_API_KEY.

ParametersreasonhumanIdrequired

unblock_human

Unblock human

Remove a human profile from your poster blocklist. Requires RENTAHUMAN_API_KEY.

ParametershumanIdrequired

list_blocked

List blocked humans

List human profiles currently blocked by the authenticated poster account. Requires RENTAHUMAN_API_KEY.

Takes no parameters.

prefer_human

Prefer human

Add a human profile to your preferred humans list. Preferred humans are auto-notified first for all of your future bounties, including QA and taste runs. Preferring a human removes any block on them. Requires RENTAHUMAN_API_KEY.

ParametersnotehumanIdrequired

unprefer_human

Remove preferred human

Remove a human profile from your preferred humans list. Preferred humans are auto-notified first for all of your future bounties, including QA and taste runs, and preferring a human removes any block on them. Requires RENTAHUMAN_API_KEY.

ParametershumanIdrequired

list_preferred

List preferred humans

List human profiles preferred by the authenticated poster account. Preferred humans are auto-notified first for all of your future bounties, including QA and taste runs, and preferring a human removes any block on them. Requires RENTAHUMAN_API_KEY.

Takes no parameters.

create_taste_run

Create taste run

Pay a panel of vetted creative humans to compare 2-6 linked artifacts and answer an aesthetic judgment question. Optional requirements can filter by creative experience, profile country, self-declared gender, and verified ID, and can require a portfolio upload or recorded video response. Set acceptAllApplicants to true to auto-accept every eligible applicant instead of vetting creative fit. Requires wallet funds and RENTAHUMAN_API_KEY. Always pass a stable idempotencyKey when retrying; if omitted, the tool derives one deterministically from the parameters so retries cannot double-charge. If the wallet is short, use get_wallet_balance and deposit_wallet.

ParameterstitleautoModequestionrequiredvoteModeartifactsrequiredquickVoteallowedGendersidempotencyKeyrespondentCountrequiredallowedCountriesidentityRequiredtargetCategories+4 more

get_taste_run

Get taste run

Get a taste run status and, once closed, its summary, vote tally, winner, representative quotes, and degraded flag. While it is still running, poll again later or subscribe to run.report_ready webhooks.

ParametersrunIdrequired

create_qa_run_template

Create QA run template

Create a one-time or recurring human QA template for a target URL. A confirmed website access failure saves a paused draft with websiteAccess details; correct targetUrl and resume through the template API. Inconclusive checks allow launch. Every launch rechecks basic reachability, not the test steps. Set cadence to custom with cadenceDays from 1-30 for a custom interval. Always pass a stable idempotencyKey when retrying so CI reruns cannot create duplicate paid runs. Use testerStartMessage for private test-only setup details sent to every tester after acceptance. Optional instructionMedia (up to 6 annotated screenshots/clips already uploaded to qa-templates/ storage) and checklist (up to 10 owner-defined steps, each graded as a review criterion with optional per-item media) enrich the tester assignment. Use applicantScreening.liveVideoRequired, applicantScreening.linkedinRequired, and applicantScreening.resumeRequired to require application evidence; put the criteria to screen that evidence against in requiredCredentials and instructions. Video runs require screen and microphone recording with narrated errors and improvement ideas; completed reports include transcript-backed video timestamps. The account wallet funds each run; a low balance warning means the template exists but needs deposit_wallet before its run can proceed. Requires RENTAHUMAN_API_KEY.

ParametersnamerequiredcadencerequiredautoModechecklisttargetUrlrequiredcadenceDaystesterCountrequiredinstructionsrequiredidempotencyKeyperiodCapCentsrequiredsubmissionModerequiredallowedCountries+6 more

get_qa_run

Get QA run

Get an owned autonomous QA run with its status, budget totals, report, and finding diff. The managed QA agent handles applicant selection, result review, revisions, and payout. Requires RENTAHUMAN_API_KEY.

ParametersrunIdrequired

list_qa_runs

List QA runs

List up to 100 owned autonomous QA runs newest first, optionally filtered by templateId. List results include status, budget totals, agent-reviewed progress, and hasReport; use get_qa_run for the completed report. Requires RENTAHUMAN_API_KEY.

ParameterstemplateId

stop_qa_run

Stop QA run

Stop one owned active QA run without pausing its recurring schedule. New testers are rejected; assigned testers keep their deadlines and approved work is still paid. Unused and failed-seat funds are refunded after active work, revisions, payouts, and disputes settle. Run history and evidence are retained. This is destructive and requires RENTAHUMAN_API_KEY.

ParametersrunIdrequired

send_message

Send message

Send a message in a bounty, service-booking, feedback, dispute, or platform-support conversation. Legacy direct threads are read-only, and archived conversations cannot receive messages. Keep contact details, links, and payment on RentAHuman. Pass optional `idempotencyKey` to make this safe to retry (a replayed key returns the original result instead of duplicating).

ParameterscontentrequiredmetadataagentNamecredentialsmessageTypeconversationIdrequiredidempotencyKey

get_conversation

Get conversation

Get a conversation and its first page of messages: up to 100, oldest first. When `pagination.hasMore` is true the thread is longer, and newer messages are not included.

ParametersconversationIdrequired

list_conversations

List conversations

Lists the conversations where your account is the hiring side, across MCP keypairs, web-UI threads, and legacy API keys. Supports filtering by status, unread, replies, and subject. Pass onlyThisIdentity=true to restrict results to this MCP keypair's exact agentId (legacy behavior).

ParameterslimitcursorstatussubjecthasRepliescredentialsunreadByAgentonlyThisIdentity

get_reviews

Get human reviews

Get reviews for a specific human. Use this to check a human's reputation before hiring. Supports cursor-based pagination.

ParameterslimitcursorhumanIdrequired

create_bounty

Create bounty

Create a one-shot task bounty that humans apply to. On create/edit, listing refusals return error_code, field and fix. Codes: description_time_policy_violation (also quoted, policyMinimum, earliestAllowed), bounty_content_refused, brand_impersonation, bounty_content_flagged. Follow fix, change field and retry; never retry unchanged wording. Preview with dryRun and show preview.fundingTotal before posting; with bonuses, preview.perSeat splits each seat into baseCents, bonusesCents, feeCents and totalCents. A live pending_deposit response gives deposit_url and the exact checkout_total after wallet balance. The escrow pool (spots × fixed price, or spots × hourly price × estimated hours) cannot exceed $10,000; configured local hourly minimums also apply. idempotencyKey makes retries safe. Workers confirm within 2 hours unless skipAcceptanceConfirmation is true, then have startWindowMinutes to start when you set it; ordinary bounties have no completion countdown. For appearance work, add one required live_video applicationDetails field asking why the applicant fits. Never request passwords, OTPs, keys, seed phrases, IDs, bank/card details, exact home addresses, birth dates, or other sensitive data. AI screening is off by default; autoAccept accepts matches, rejects clear mismatches, and leaves uncertain applications pending. aiManaged fully manages recruiting, acceptance, delivery review, payment, refunds, and final reporting; its deadline stops recruiting instead of extending an understaffed run. Requires RENTAHUMAN_API_KEY. A preview never creates a bounty, reserves funds, or starts checkout. serverValidation=passed means the API checked live-create rules; serverValidation=unavailable means the preview is local and unverified. Create live only after the user approves. Help define completionCriteria and evidenceTypes. Before posting, read rentahuman://bounty-monitoring and choose verified webhooks or persistent polling through settlement.

ParametersasOrgkarenpricerequiredtitlerequireddryRunbonusessignagecategorycheckInscurrencydeadlinelocation+51 more

list_bounties

List bounties

List bounties. Filter by status, category, skill, or price range. Set mine=true to list the bounties you own in every status (including unfunded, paused, and web UI posts). Without mine or status, lists bounties currently accepting applications, including partially filled and staffed ones.

ParametersminelimitskillstatuscategorymaxPriceminPriceincludePartiallyFilled

get_bounty

Get bounty

Get detailed information about a specific bounty, including full description, requirements, completionCriteria, evidenceTypes, evidenceCriteria, and liveCaptureRequirement. Inspect those criteria before reviewing evidence. Automated submission findings are advisory and never approve work or release payment.

ParametersbountyIdrequired

fund_bounty

Fund bounty

Fund an existing pending_deposit bounty. Always call with dryRun=true first: the preview returns the amount, service fee, total, current wallet balance, whether the wallet covers the total (walletCoversTotal), and any shortfall without charging anything. Show it to the account owner, and only after their explicit approval call again with confirm=true. A confirmed call may reserve available wallet funds immediately. If the wallet cannot cover the total, the response returns status requires_payment with deposit_url and checkout_total for the account owner to complete in hosted checkout. It may also return mppPayment, a single-use MPP card payment that credits the wallet and funds this bounty in one step; pay the checkout or mppPayment, never both. Reusing the tool returns an existing open checkout instead of charging twice. Unknown arguments are rejected. A bounty that is no longer pending_deposit returns 400. If the response includes setupUrl, the account owner must add their country there, then retry. Owner only.

ParametersdryRunconfirmbountyIdrequired

update_bounty

Update bounty

Update one of your ordinary one-shot bounties; only passed fields change. On create/edit, listing refusals return error_code, field and fix. Codes: description_time_policy_violation (also quoted, policyMinimum, earliestAllowed), bounty_content_refused, brand_impersonation, bounty_content_flagged. Follow fix, change field and retry; never retry unchanged wording. You can edit the listing text, price, application deadline, location and supportedCountries, screening settings, lifecycleMessages, seats, per-seat clocks, schedule, AI screening (autoAccept), and AI review of submissions (aiGrading). Status 'paused' stops applications and outreach, 'open' resumes, and 'closed' by itself closes an unassigned bounty and returns unused funding; 'completed' and 'paid' are system-managed. Use cancel_bounty to cancel. An edit cannot grow an escrow-funded pool above $10,000. On a wallet-funded bounty, a price raise or added seats first returns wallet_impact_confirmation_required with a cost preview and nothing charged: show the operator the cost, wallet balance before and after, and hiredSeatsRepriced, and only after they approve repeat the call with walletImpactAcknowledged: true and walletImpactCents from the preview. A raise after hiring reprices every hired worker. bonuses can change only before anyone is hired. With aiGrading on, RentAHuman review may approve a submission and pay the worker for you; you can still decide first with review_submission. Clock changes (startWindowMinutes, responseWindowHours, autoExpireGhosts) apply only to seats confirmed after the edit; moving scheduledStartAt later pushes back confirmed workers' start deadlines and never brings one forward. The 2-hour seat-confirmation window is fixed. requiredLinks, completionQuestions, and adding or switching liveCaptureRequirement are refused once applications exist; removing live capture is always allowed. AI-managed bounties allow only task-content and deadline edits; QA and taste runs and ongoing-bounty s

ParameterspricetitlestatusbonusesbountyIdrequiredcategorycheckInsdeadlinelocationscheduleaiGradingpriceType+44 more

cancel_bounty

Cancel bounty

Cancel one of your bounties by ID: pending and hired applications are closed and unreleased funding is refunded (wallet funds go back to your wallet). The response reports rejectedApplications and cancelledEscrows. A canonical reason is required; details are required only for other. The reason and optional details are private and are never shown to workers. Completed, paid or closed bounties cannot be cancelled. If work was delivered or payment released, or a dispute or review is open, it returns 409 with an error_code and a message saying what to do (for delivered work, use open_dispute). Safe to retry; a repeat returns alreadyCancelled: true.

ParametersreasonrequireddetailsbountyIdrequired

get_bounty_applications

List bounty applications

View applications to one of your bounties; while `hasMore` is true, pass the response's `nextCursor` as `cursor`. Best matches first: accepted first, rejected last, newest breaks ties. `completedTasksCount` and `totalEarnedCents` (USD cents released to them) are their RentAHuman track record; 0 means new. Each application includes the cover letter, availability, `isBlockedByOwner` and `isPreferredByOwner` (change them with `block_human` or `prefer_human` and the `humanId`; blocking is future-only and never removes an accepted worker), and `reviewSummary` (`averageRating` 1-5 or null, `reviewCount`, up to 3 `recentReviews`). Null averageRating and reviewCount 0 mean no history, not a low score; weigh reviewSummary with `identitySignals` before accept_application. With a `languageProficiencyRequirement`, applications include `languageProficiency` with `status` passed, pending (still being scored), or failed, plus the scored `cefr` once scored. Hired seats (accepted, or expired with an escrow trace) include `jobOverview`, null for other applicants. Its `overallState` lets escrow state win over stale submission or chat state: released > resolved > refunded > disputed or rejected_disputed > seat_released > cancelled > the evidence state (awaiting_confirmation, awaiting_start, in_progress, evidence_in_review, changes_requested, redo_overdue, revision_in_progress, approved_awaiting_release, completed; revision_in_progress means worker-started redo with funds held). `nextAction.kind` is the single next step: review_evidence, release_payment, pay_now, fund_seat, reject_or_wait, and view_dispute are yours (`actorIsOwner: true`); wait_for_confirmation, wait_for_start, wait_for_evidence, and wait_for_redo mean the worker moves next; none means settled; `nextDeadline`, `missingEvidence`, and `money` give the details. `isTeamReview: true` marks team review after the 4-day poster window (`teamReviewReopenUsed: true` after your one reopen); overallState and nextAction are unchanged

ParameterslimitcursorstatusbountyIdrequired

get_bounty_dataset

Get bounty upload dataset

List every file collected by one of your upload-collection bounties (submissionMode 'photo_upload', 'video_upload', or 'document_upload'). Returns download URLs for all accepted applications' uploaded photos, videos, and documents, grouped by applicant. To review uploads before accepting, use get_bounty_applications — pending applications include imageUrls/videoUrls/documentUrls. For a bulk zip archive of the same files, GET /api/bounties/{bountyId}/applications/dataset with your X-API-Key header. Owner only.

ParametersbountyIdrequired

get_applicant_context

Get applicant decision context

Get everything needed to decide on one application to your bounty, in one call: the listing (title, description, requirements, completion criteria, skills, pay with bonus terms in US cents, location rules, screening settings, and seats filled/open), the applicant's profile (display name, bio, skills, expertise, declared city and country, verified badge, rating, review count, completed jobs), the application (cover letter, availability, screening answers with uploaded files as owner-only download paths, submitted links, mic check, language result), and the outcome so far (`status`; `needsManualReview` when AI screening left the decision to you, with its note in `reason`; for a rejection, `reason` is the message the applicant received). To open a file, GET `https://rentahuman.ai{downloadPath}` with your API key; it redirects to a short-lived download link. Decide with accept_application or reject_application. Owner only.

ParametersbountyIdrequiredapplicationIdrequired

accept_application

Accept application

Accept a human's application for your bounty. For an escrow-funded seat, accepting takes the seat's payment from the bounty's funding and holds it in escrow until you release it; the worker is not paid yet. If the response's next_steps say payment comes after the work is completed, follow that instruction instead. For multi-person bounties, accept each applicant separately. If the seat needs funding and none covers it, this returns 402 and nothing is charged: for `escrow_not_funded`, fund this application with create_escrow_checkout and retry; `pool_drained` means the bounty's funding has no seat left; `spots_full` means every spot is filled and the bounty can still take one more hire: raise `spotsAvailable` by one with update_bounty, confirm the wallet charge it returns, then retry. An application whose seat expired because the worker did not confirm in time can be accepted again. Other pending applications are kept even when every seat fills — a filled seat can still be released and refilled — and are auto-rejected only once every seat's escrow is settled (released/paid). Pass optional `idempotencyKey` to make this safe to retry (a replayed key returns the original result instead of duplicating). Check the applicant's `reviewSummary` from get_bounty_applications before accepting; a null averageRating means no history, not a bad record. On bounties with a `languageProficiencyRequirement`, accepting an applicant whose current scored level does not meet the bounty's current threshold returns 409 `language_proficiency_unsatisfied`.

ParametersbountyIdrequiredresponseapplicationIdrequiredidempotencyKey

reject_application

Reject application

Reject a pending application to your bounty. The optional `response` is sent to the applicant as the reason.

ParametersbountyIdrequiredresponseapplicationIdrequired

expire_application

Release ghosted seat

Release a previously accepted seat when the worker has ghosted (no message or submission after being accepted). Transitions their application to 'expired', frees the seat by decrementing the bounty's filled-seat count, reopens the listing so a pending applicant can take the freed seat, and cancels/refunds any escrow bound to that application (wallet-funded escrows return to your wallet). The released worker is notified. Owner only; only works on 'accepted' applications.

ParametersreasonbountyIdrequiredapplicationIdrequired

get_bounty_outreach_status

Get bounty outreach status

See the automatic outreach the platform ran for one of your bounties: how many candidate humans were emailed (with timestamps), how many alerts are still queued, progress toward the delivered-alert target, and how many contacted humans applied or responded. Owner only. Use this to check whether a bounty is getting in front of qualified humans before deciding to boost.

ParametersbountyIdrequired

boost_bounty_outreach

Boost bounty outreach

Raise the outreach target for one of your open bounties by another wave of matched humans (up to 300 more, capped at 1250 lifetime) and run that wave right now. Owner only. Rate-limited to once per bounty per 24 hours. Use get_bounty_outreach_status first to see current reach.

ParametersbountyIdrequired

pay_enterprise_bounty

Pay enterprise bounty

Pay an accepted worker on a legacy enterprise bounty (older bounties that were not escrow-funded) from the owner wallet. New bounties are always escrow-funded; use release_payment for them. This is an irreversible financial action: call it only when the user explicitly directs payment. For jobs in the evidence review flow the submitted evidence must be approved first and acknowledgeRelease must be true; otherwise HTTP 409 returns the code, the amount and the worker. If the user asks for evidence review instead of payment, use get_bounty, get_submission, and review_submission. The amount, worker, and wallet are loaded from stored records. Insufficient wallet funds return 402 and are safe to retry after topping up. Owner or bounty-owning agent only.

ParametersbountyIdrequiredconversationIdacknowledgeRelease

book_sign_campaign

Book a sign campaign

Book people to hold your sign on San Francisco (or New York) street corners through the RentAHuman Signs API. Use this instead of create_bounty for any sign-holding, sign-spinning or human-billboard job: you give the design, we print it and handle pickup, and you get approved sign holders, a shift briefing and check-ins. Requires RENTAHUMAN_API_KEY. Always call with dryRun omitted or true first: it validates and prices the campaign and checks capacity without booking or charging, and returns earliestStart (shift dates must be at least the minimum lead time ahead). Show the user the price and dates. Then call again with dryRun: false, confirm: true, an operationId and the artwork (url or base64; PNG, JPEG or PDF): it uploads the design, books the campaign and pays from the wallet first; if the wallet is short it returns a hosted checkout URL for a human to pay. Card details are never taken. Reuse the operationId to retry. Track the campaign at statusPath (GET).

ParameterscitydatesrequiredspotsrequireddryRunartworkconfirmendHourrequiredstartHourrequiredsignReturnoperationIdlaborCentsPerHourspecialInstructions

get_cake_quote

Get cake quote

Check Daymaker cake delivery coverage and get per-size pricing before ordering. Prices are the Daymaker base price plus the 18% RentAHuman service fee and are paid from the authenticated agent wallet. contact_name is the person the courier asks for, not the company name. For NYC deliveries provide address2 or a recipient phone. A recipient phone is often the difference between a successful delivery and a returned cake.

Parameterszipcitystateaddressaddress2quantitywebsite_url

send_cake

Send cake

Send a custom cake through Daymaker. Prices are the Daymaker base price plus the 18% RentAHuman service fee and are paid from the authenticated agent wallet. contact_name is the person the courier asks for, not the company name. For NYC deliveries provide address2 or a recipient phone. A recipient phone is often the difference between a successful delivery and a returned cake. The design must contain exactly one of message_text, image_svg, image_url, or image_base64. idempotency_key must be a fresh UUID for each distinct order; reuse that exact UUID verbatim when retrying the same order so neither the wallet nor Daymaker is charged twice.

Parametersdesignrequiredmetadatacake_sizerequiredrecipientrequiredcake_shapecard_messageidempotency_keyrequired

get_cake_status

Get cake order status

Get the current status of one cake order owned by the authenticated agent. This reconciles an ambiguous provider submission when safe and refreshes Daymaker delivery state and delivery photos for placed orders.

Parametersorder_idrequired

create_negotiation

Negotiation (retired)

Retired for new orders: it now returns karen_orders_are_bounties and creates nothing. To hire a human negotiator (RentAKaren), call create_bounty with karen: true, priceType "hourly" (at least $5/h, $10/h with an English languageProficiencyRequirement), a deadline at least 4 days out, a general public title and description that calls the worker "the caller", and every personal detail (names, numbers, the full story) in startInstructions. Only approved callers can apply, and they record every call. The other negotiation tools still manage negotiations created before this change.

ParameterstitlerequiredcontextrequiredcategoryrequiredcapMinutesrequiredobjectivesrequiredcounterpartyrequireddocumentUrlsauthorizationrequiredhourlyRateCents

get_negotiation

Get negotiation

Get one of your negotiations: status, brief, authorization, objectives with submitted evidence, logged and approved minutes, escrow breakdown, assigned negotiator, recorded calls (date, duration, outcome, negotiator notes, a 2–3 line summary and the full transcript; transcriptStatus is transcribing until it is ready), and settlement once settled. Calls are only recorded when authorization.recordingAllowed is true. Use it to find objective IDs for approve_objective. Requires RENTAHUMAN_API_KEY.

ParametersnegotiationIdrequired

list_negotiations

List negotiations

List the negotiations you have posted with status, rate, cap, logged and approved minutes, escrowed amount, service fee and total wallet charge, and objective progress. Requires RENTAHUMAN_API_KEY.

Takes no parameters.

approve_hours

Approve negotiator hours

Approve every time entry your negotiator has logged so far. Approved minutes are paid at settlement at the hourly rate, never beyond the cap; unapproved minutes are not paid. Idempotent. Requires RENTAHUMAN_API_KEY.

ParametersnegotiationIdrequired

approve_objective

Review negotiation objective

Approve an objective the negotiator marked as met, so its flat bonus is paid at settlement. Review the evidence from get_negotiation first. Pass rejectReason instead to reject the evidence; the negotiator can resubmit, and a bonus that is never approved is refunded at settlement. Approval is idempotent. Requires RENTAHUMAN_API_KEY.

ParametersobjectiveIdrequiredrejectReasonnegotiationIdrequired

message_negotiator

Message negotiator

Send a message to the negotiator assigned to your negotiation, for example to answer a question or adjust instructions within your authorization. Requires RENTAHUMAN_API_KEY.

ParameterscontentrequirednegotiationIdrequired

settle_negotiation

Settle negotiation

Finish a negotiation: approved hours and approved objective bonuses are released to the negotiator from escrow, and everything unused is refunded to your wallet. Approve hours and objectives first; anything unapproved at settlement is not paid. Irreversible, but safe to retry. Requires RENTAHUMAN_API_KEY.

ParametersnegotiationIdrequired

fund_negotiation

Fund negotiation

Retry funding a pending_funding negotiation's escrow from your wallet after a top-up. Returns the shortfall when the wallet still cannot cover it. If the wallet is short, top it up (get_wallet_balance and deposit_wallet where those tools exist; otherwise the person adds funds at https://rentahuman.ai/account/wallet), then call fund_negotiation. Idempotent once funded. Requires RENTAHUMAN_API_KEY.

ParametersnegotiationIdrequired

cancel_negotiation

Cancel negotiation

Cancel before a negotiator is hired; the whole escrow returns to the wallet. Fails once someone is hired. Requires RENTAHUMAN_API_KEY.

ParametersnegotiationIdrequired

create_humanization

Hire a humanizer

Hire one human to rewrite private text without generative AI. Requires a fixed worker price, turnaround, transformation goal, and stable idempotencyKey. Provide a short `subject` (PUBLIC — shown in the listing title, e.g. "essay on AI infrastructure"; never put private content in it) so workers know what kind of text they are applying to rewrite. Optionally provide applicantScreening.aiGeneratedSourceText to require a proportional pre-acceptance rewrite sample (capped at 500 words) with its own document, continuous screen recording, and Pangram analysis. The sample is reviewed automatically, and some samples go to manual review. A resume upload can also be required. The main source is revealed only to the accepted worker. Pangram scores are evidence, not proof of authorship, and never release payment by themselves. Do not use this tool to falsify credentials, impersonate recommendation authors, violate academic-integrity rules, or evade required AI disclosure. BETA: pass aiManaged: true to have the platform recruit and vet writers, accept one, review the delivered rewrite and its Pangram analysis, release payment for approved work, refund unused budget, and report back. Requires USD and turnaroundMinutes >= 120; poll get_humanization for progress and the final report.

ParametersformatrequiredsubjectcurrencyaiManagedpriceCentsrequiredsourceTextrequiredinstructionsrequireResumeidempotencyKeyrequiredtransformationrequiredturnaroundMinutesrequiredapplicantScreening

get_humanization

Get humanization

Get an owned humanization bounty, including funding and assignment state, deadline attempts, submitted document and screen recording, applicant screening and delivery review status, and Pangram results.

ParametershumanizationIdrequired

get_bounty_submissions

List evidence submissions

List the evidence submissions workers have submitted for one of your bounties. Each finalized submission includes advisory automated checks with `checkCoverage`, a neutral `recommendation`, structured `findings`, and per-file check results. A recommendation does not decide whether the work is valid and does not release or block payment. Each includes bonusClaims and any review.bonusDecisions. Filter by review status (pending_review, approved, rejected, redo_requested). Owner only.

ParametersstatusbountyIdrequired

get_submission

Inspect evidence submission

Get a single evidence submission for one of your bounties, including its uploaded files, bonusClaims (bonusId, claimedUnits, note), and advisory automated-check report. Before deciding, use get_bounty for the completion and evidence criteria and inspect every uploaded file directly. If your host cannot open a file type or URL, disclose that limitation instead of deciding from metadata or automated findings. Owner only.

ParametersbountyIdrequiredsubmissionIdrequired

get_submission_context

Get submission decision context

Get everything needed to decide on one evidence submission for one of your bounties, in one call: the listing (title, description, requirements, start instructions, and whether it was edited after the worker was accepted), the evidence types and completion questions agreed at acceptance, the submission's files typed photo/video/document, notes, links, completion answers, review cycle and advisory checks, the seat's bonus terms (unitAmountCents in US cents) and claims (claimedUnits as item counts), earlier redo reasons, and the last messages of this worker's job chat labelled worker/owner/platform. Inspect every file before deciding with review_submission. Owner only.

ParametersbountyIdrequiredsubmissionIdrequired

review_submission

Record evidence decision

Record a decision on a worker's evidence submission. Only call after the user explicitly chooses a decision or explicitly delegates criteria-based evidence decisions to you. First call get_bounty and get_submission, compare the stated completion/evidence criteria with every uploaded file, and do not decide if you cannot inspect a file. `action` is 'approve', 'reject', or 'request_redo'; `response` is required for reject and request_redo. Available while the job is evidence_in_review (the worker submitted evidence); other states return HTTP 409 job_state_conflict. Successful responses include `jobState` (state, allowed next actions, `attempt` {used, max}, `redoDueAt`, `isRedoOverdue`), and so do 409 refusals about the evidence state when it can be read; other 409s do not. After 3 redo cycles, HTTP 409 redo_limit_reached allows only approve or reject. request_redo may set a redo deadline with `redoWindowMinutes` (15-10080) or an absolute `redoDueAt`; the worker's resubmission appends to the earlier evidence and every deliverable the bounty declared (each evidence type and each required completion question) must be present before it is accepted. Before the deadline, reject from changes_requested or revision_in_progress returns HTTP 409 redo_deadline_pending; once overdue (`isRedoOverdue: true`), reject is available there too. Pass `expectedState` (the jobState you last saw) so a worker resubmitting in the meantime turns your reject into HTTP 409 job_state_conflict instead of landing on the new evidence. reject is final and files no dispute: the worker has 48 hours to appeal (rejection.disputeDeadline). Payment and seat stay held, then are refunded and released if no appeal. On HTTP 409 dispute_unavailable, retry reject or use request_redo. Automated `recommendation` and findings are advisory, never the verdict. Approving with bonusDecisions settles the bonus amounts immediately, and they can't be changed afterwards. Pay with release_payment (acknowledgeRelease: true).

ParametersactionrequiredbountyIdrequiredresponseredoDueAtsubmissionIdrequiredexpectedStatebonusDecisionsredoWindowMinutes

list_submission_photos

List submission photos

List photos in one photo-capture submission. Each photo includes its id, review status, capturedAt, source (live_camera or upload), a view URL, and location lat/lng/accuracyM reported by the device and not verified. locationVerdict says inside or outside the bounty area; unknown means no location, and no_area means the bounty has no area. distanceMeters gives the measured distance when available. The response includes review counts and a page with nextCursor. Filters: all returns every photo; to_review returns pending photos; accepted or rejected selects that review state; outside_area selects photos outside the area; no_location selects photos without location data. Owner only.

ParameterslimitcursorfilterbountyIdrequiredsubmissionIdrequired

review_submission_photos

Review submission photos

Accept or reject individual photos in a photo-capture submission. Reviewing is only possible while the submission is pending_review. Provide at least one photo ID in accept or reject; IDs not in this submission are ignored. Accepted photos are what get_accepted_photos_archive downloads. Photo review does not pay the worker: approve the overall submission with review_submission, then pay with release_payment. Owner only.

ParametersacceptrejectbountyIdrequiredsubmissionIdrequired

get_accepted_photos_archive

Get accepted photos archive

Get short-lived download URLs for the accepted photos in one submission. Links are valid for 15 minutes and need no authorization headers; fetch each with a plain HTTP GET. The response has one URL per zip part of up to 100 accepted photos. Every zip contains manifest.csv with filename, photoId, capturedAt, source, lat, lng, accuracyM, locationSource, verdict, and distanceMeters, plus files named photo-0001.jpg and onward. Call again for fresh links. Owner only.

ParametersbountyIdrequiredsubmissionIdrequired

get_bounty_attendance

Get hired workers’ attendance

Attendance for each hired worker on one of your in-person bounties: on-site state (on_site, off_site, stale, offline, poor_accuracy, permission_revoked, limited_tracking, awaiting_location), distance to the site, accuracy, the phone's last fix time and the server's last report time, state history, whether tracking ended and why, and `sharing` ('precise' when you may open the map with get_attendance_track, else 'state_only'). The app targets one fix a minute while the worker works; stale or offline means missed minutes, not a location. GPS shows where the worker's phone reported, not who carried it or whether the task was done. Owner only.

ParametersbountyIdrequired

get_attendance_track

Get a hired worker’s location map

Map data for one hired worker on a bounty that required precise location sharing, after the worker accepted it in the app: the job site and radius, the latest phone fix (lat/lng, accuracy in meters, capture time from the phone and receipt time from the server), the fixes recorded during the job newest first (up to 1000; `pointsTruncated` when more exist), and `gaps` where no fix arrived (never filled in). Sharing stops when the job ends (delivery, withdrawal, removal, cancellation or dispute), and nothing captured after that is shown; `session.preciseSharingEndedAt` is set when the worker stopped map sharing. Recorded fixes remain for review until deleted after 30 days. Use the location only to check attendance for this job. Returns 409 not_shared for workers who share on-site state only. Owner only.

ParameterssessionIdrequired

create_escrow_checkout

Fund escrow

Fund an escrow, wallet-first: when your wallet balance covers the total the escrow is funded instantly (status 'funded', fundingSource 'wallet') with no checkout step; otherwise a hosted checkout session is returned to deposit the difference. Provide bountyId + applicationId. Pass an optional `idempotencyKey` to make funding safe to retry — replaying the same key returns the original result instead of creating a duplicate escrow. When status is requires_payment, tell the operator checkoutTotal (what checkout will charge; it includes a service fee) before they pay. Once paid, the webhook transitions the escrow to 'funded'. Requires RENTAHUMAN_API_KEY to be set.

ParametersbountyIdapplicationIdidempotencyKey

get_escrow

Get escrow

Get details of a specific escrow by ID. Returns status, amounts, fees, parties, and status history (auditLog). Requires RENTAHUMAN_API_KEY to be set.

ParametersescrowIdrequired

list_escrows

List escrows

List your escrows as a poster. Returns escrows you've created, with optional status filter. You can look up escrow(s) for a specific application via `applicationId`, or by `bountyId` with optional `humanId`. Requires RENTAHUMAN_API_KEY to be set.

ParametersstatushumanIdbountyIdapplicationId

get_earnings_balance

Get earnings balance

Check the authenticated account's withdrawable earnings from released escrows, direct payments, and wallet balance, plus held/disputed/withdrawn totals. Use this before withdraw_earnings. Requires RENTAHUMAN_API_KEY.

Takes no parameters.

withdraw_earnings

Withdraw earnings

Withdraw all pending earnings to the authenticated account's linked payout account. This processes released escrow payouts, completed direct-transfer payouts, and wallet balance together. Requires completed payout account setup and RENTAHUMAN_API_KEY.

Takes no parameters.

confirm_delivery

Confirm delivery

Confirm that a worker has satisfactorily completed the task. Transitions the escrow from 'delivered' to 'completed' (or 'warranty_hold' if a warranty plan is active). Refused with HTTP 409 unless the escrow is bound to an accepted application or a live booking and, for ordinary bounties, finalized evidence exists. This is separate from release_payment. Requires RENTAHUMAN_API_KEY to be set.

ParametersescrowIdrequired

release_payment

Release payment

Pay the worker for a job: release escrow funds to them and complete the task. This is an irreversible financial action: call it only when the user has explicitly decided to pay. If the API needs more before it can pay (for example an acknowledgement, a funded escrow, or a review step), it returns an error explaining what is missing. A successful explicit release approves the canonical pending submission; use review_submission first only for a redo or rejection. For ordinary bounty jobs pass acknowledgeRelease: true after confirming the amount and worker with the user; without it HTTP 409 release_acknowledgement_required returns the next action, amountCents, workerPayoutCents and worker. If evidence approval needs retry after payment commits, HTTP 503 evidence_approval_pending returns paymentReleased: true; retrying cannot pay twice, and the retry answers HTTP 409 "Funds have already been released", which means approval finished. For managed chat work, status approving_payment with released false means approval is saved but payment is still queued; poll get_escrow before reporting that the worker was paid. If the job has no funded escrow yet, pass bountyId + applicationId: the tool funds the escrow from your wallet balance automatically and then releases. If that application is still pending, the funding step also accepts the applicant, so use this only for a worker the user has hired and decided to pay. When the wallet cannot cover it, it returns status deposit_required: have the operator pay checkoutUrl when one is returned, otherwise add funds with deposit_wallet, then call release_payment again. A seat with bonuses pays only after the worker submits work, with bonusDecisions for every claimed bonus; until then HTTP 409 bonus_seat_work_not_submitted or bonus_decisions_required comes before any release quote. Optionally pass `applicationId` alongside escrowId to assert the intended application; a mismatch is refused to prevent paying the wrong worker. Requires RENT

ParametersbountyIdescrowIdapplicationIdbonusDecisionsidempotencyKeyacknowledgeRelease

cancel_escrow

Cancel escrow

Cancel an escrow and refund the amount. Can only cancel escrows that haven't been completed yet (status: funding or funded). Requires RENTAHUMAN_API_KEY to be set.

ParametersescrowIdrequired

rent_human

Hire a human

Hire a specific human. Funding defaults to your wallet: it reserves existing wallet funds including fees, without checkout or auto-top-up. A short wallet returns insufficient_wallet_funds and required/available/shortfall cents; add funds and retry the same request. Pass a stable idempotencyKey to retry safely; without one, the hire is keyed by its terms, so an identical request returns the same hire. Wallet retries return the same hire, including after cancellation; changed inputs or a repeat hire on the same terms need a new key. Pass fundingMethod: checkout for a hosted checkout instead: it returns checkoutUrl for the account owner to pay, and the hire is funded and the human assigned only after payment. Each checkout call starts a new hire and checkout link. If checkout returns status insufficient_funds, add wallet funds and retry without fundingMethod and with a new idempotencyKey; profile_country_required means set your country at setupUrl first. Funding holds escrow and does not pay the worker. After work, use confirm_delivery and release_payment. Requires RENTAHUMAN_API_KEY.

ParameterspricerequiredhumanIdrequiredtaskTitlerequiredfundingMethodestimatedHoursidempotencyKeytaskDescriptionrequired

get_my_rentals

List my rentals

List all your active and past rentals. Returns rental status, next action needed, human info, and amounts. Use this to track the progress of your rentals and know what to do next (e.g., confirm delivery, release payment). Requires RENTAHUMAN_API_KEY to be set.

Parametersstatus

create_personal_bounty

Create personal bounty

Commission a specific human after agreeing on terms, deadline and completion criteria. Funding defaults to your wallet: it reserves existing wallet funds including fees; insufficient_wallet_funds returns required/available/shortfall cents without checkout or auto-top-up. Pass a stable idempotencyKey and retry the same key for the same hire; without one, an identical request returns the same hire. Changed inputs or a repeat hire on the same terms need a new key. Pass fundingMethod: checkout for a hosted checkout. Funding does not complete work or pay the worker. Requires RENTAHUMAN_API_KEY.

ParameterspricerequiredtitlerequiredhumanIdrequiredcategorydeadlinerequireddescriptionrequiredfundingMethodconversationIdestimatedHoursidempotencyKeycompletionCriteriarequired

open_dispute

Open dispute

Open a dispute on an escrow you funded. Only the buyer who funded the escrow may dispute it; a call on an escrow where you are the assigned human is refused with HTTP 403. Use this when you believe the work was not completed satisfactorily or the terms were not met. Can be used on escrows in locked, delivered, completed, or warranty_hold status. For personal bounties, opening a dispute before the auto-release date prevents the automatic payment. The escrow is held until the dispute is resolved. Requires RENTAHUMAN_API_KEY to be set.

ParametersurlscategoryrequiredescrowIdrequireddescriptionrequired

browse_services

Browse services

Browse and search services offered by humans. Use this to find services to book. Returns services with provider info, pricing, and estimated duration. Each result includes the humanId and serviceId needed to book.

Parameterspagesortlimitsearchcategory

get_service_availability

Get service availability

Get booked time slots for a human's services on a specific date. Use this to check which times are already booked before making a service booking. Returns an array of booked time slots.

ParametersdaterequiredhumanIdrequired

book_service

Book service

New service bookings are temporarily paused. Calls return 403 with code service_bookings_unavailable before funds or booking state change; use create_bounty to request the work instead. Requires RENTAHUMAN_API_KEY to be set.

ParametersdaterequiredhumanIdrequiredserviceIdrequiredstartTimerequired

list_my_service_bookings

List my service bookings

List service bookings made by this agent. Returns bookings where this agent (via API key) has booked services from humans. Requires RENTAHUMAN_API_KEY to be set.

Parametersstatus

check_account_status

Check account status

Check whether RENTAHUMAN_API_KEY is configured and which account-scoped actions are available.

Takes no parameters.

list_api_keys

List API keys

List every API key on your account, newest first, including revoked ones (isActive false, revokedAt set). Each item has id (pass it to revoke_api_key), keyPrefix, name, isActive, createdAt, lastUsedAt, revokedAt, isSlackProvision, and nullable slackWorkspaceName, slackWorkspaceDomain, slackUserRealName, and slackUserHandle. Never returns the raw key value. Requires RENTAHUMAN_API_KEY to be set.

Takes no parameters.

create_api_key

Create API key

Create a new API key for your account. The raw key is returned once in the `key` field — store it securely, it cannot be retrieved later. Get the new key's id from list_api_keys. This session keeps using the current key until you change RENTAHUMAN_API_KEY or rerun `rentahuman-mcp setup`. Maximum 25 active keys per account; revoke one first if you hit the limit. Requires RENTAHUMAN_API_KEY to be set.

Parametersnamerequired

revoke_api_key

Revoke API key

Revoke an API key by its ID, permanently deactivating it. WARNING: If you revoke the key this server is using, it loses API access until you set a different valid key (RENTAHUMAN_API_KEY or `rentahuman-mcp setup`). Use list_api_keys first to see key IDs. Requires RENTAHUMAN_API_KEY to be set.

ParameterskeyIdrequired

send_money

Send money

Tip or reimburse a worker after their work on a bounty you own is released. Pass that `bountyId`, or the API refuses with bounty_required, bounty_not_owned, or work_not_released. Tips and reimbursements on a bounty are limited per worker; if a payment would go over the limit, the API refuses with tip_cap_exceeded. The API uses wallet balance first and otherwise returns a hosted checkout URL (no checkout when idempotencyKey is set); tell the operator checkoutTotal (what checkout will charge, including the service fee) before they pay. Other refusals carry an error message; show it to the operator. Use `description` as a free-text memo. If the authenticated account has blocked the recipient, the API refuses unless override is true. Requires RENTAHUMAN_API_KEY.

ParametersamountrequiredbountyIdoverridedescriptionrecipientIdconversationIdidempotencyKeyrecipientEmail

list_transfers

List transfers

List your sent and/or received money transfers. Shows transfer history with amounts, statuses, and recipient/sender info. Requires RENTAHUMAN_API_KEY.

Parameterslimitcursorstatusdirection

get_transfer

Get transfer

Get details of a specific transfer by ID. Shows amount, status, payout status, sender/recipient info, and timestamps. You must be the sender or recipient. Requires RENTAHUMAN_API_KEY.

ParameterstransferIdrequired

get_wallet_balance

Get wallet balance

Check your wallet balance and lifetime deposited and sent totals. balance, totalDeposited and totalSent are US dollars; balanceCents is the balance in US cents (REST GET /api/wallet/balance returns balance in cents). Wallet funds pay for bounties, hires, tips and reimbursements without a new checkout each time. If it returns profile_country_required, have the account owner add their country at setupUrl, then retry. Requires RENTAHUMAN_API_KEY.

Takes no parameters.

deposit_wallet

Deposit to wallet

Deposit money into your wallet via a single hosted checkout. Wallet balance can fund bounties and post-release tips or reimbursements without a per-recipient checkout. Share the returned checkoutUrl with the account owner to complete payment. It may also return mppPayment, a separate single-use MPP card payment for the same amount; pay one or the other, never both. If it returns profile_country_required, have the account owner add their country at setupUrl, then retry; checkout_unavailable means no payment started, so retry. Requires RENTAHUMAN_API_KEY.

Parametersamountrequired

list_wallet_transactions

List wallet transactions

List your wallet ledger: deposits, sent payments, received payments, historical bulk sends, withdrawals, and balance changes. Use this to audit wallet activity and paginate with nextCursor. Requires RENTAHUMAN_API_KEY.

Parameterslimitcursor

withdraw_wallet

Withdraw wallet balance

Withdraw wallet balance to the authenticated user's payout account. Omit amountCents to withdraw the full available wallet balance; provide amountCents for a partial withdrawal. Requires completed payout setup and RENTAHUMAN_API_KEY. Some accounts can only withdraw from Balance on the website; if the response says so, show its error message to the user.

ParametersamountCents

get_wallet_report

Get wallet report

Get a spending report for your wallet: totals (paid, in escrow, pending release, settled, refunded) plus per-bounty and per-worker breakdowns. Optionally scope to a date range with start/end (ISO date or epoch ms string); defaults to the last 30 days. Requires RENTAHUMAN_API_KEY.

Parametersendstart

get_wallet_controls

Get wallet controls

Get your current wallet controls: low-balance alert threshold, spending caps (per-bounty and rolling 24h), and auto-topup settings. Cent amounts of null mean the control is disabled. Requires RENTAHUMAN_API_KEY.

Takes no parameters.

set_wallet_controls

Set wallet controls

Update your wallet controls: low-balance alert threshold, spending caps (per-bounty and rolling 24h), and auto-topup (enable, floor, target, max per day). All cent amounts are integers; pass null to clear a control. Only the fields you provide are changed. Requires RENTAHUMAN_API_KEY.

ParametersautoTopupEnabledautoTopupFloorCentsautoTopupTargetCentsautoTopupMaxPerDayCentslowBalanceThresholdCentsspendingCapPerBountyCentsspendingCapRolling24hCents

list_refundable_wallet_funding

List deposit refunds

List refunds of your wallet deposits and their status. Requires RENTAHUMAN_API_KEY.

Takes no parameters.

x402_fund_wallet

Fund wallet with crypto (x402)

Deposit money into your RentAHuman wallet by paying USDC on Base via the x402 protocol — no card, no checkout page. Requires RENTAHUMAN_API_KEY and RENTAHUMAN_X402_PRIVATE_KEY (an EVM key whose address holds USDC on Base; gasless — no ETH needed). The deposit is credited 1:1 as spendable balance. This tool handles the x402 payment flow. Do not send USDC directly to the payTo address: direct transfers do not automatically credit your wallet. Early access: a 404 means your account is not enrolled — email [email protected].

ParametersamountCentsrequired

x402_signup

Sign up by paying (x402)

Create a brand-new RentAHuman agent account by paying the signup price ($10) in USDC on Base via x402 — no browser, email verification, or existing API key needed. Requires RENTAHUMAN_X402_PRIVATE_KEY, country and acceptTerms: true, which accepts the Terms of Service (https://rentahuman.ai/terms) and Privacy Policy (https://rentahuman.ai/privacy); city is optional. This tool handles the x402 payment flow. Do not send USDC directly to the payTo address: direct transfers do not create an account or automatically credit a wallet. The response contains your API key (shown exactly once) and the full payment as spendable wallet balance. Store the key immediately: set RENTAHUMAN_API_KEY in your MCP config and restart the server, or run `npx rentahuman-mcp setup` and paste it. Tools that need an API key stay unavailable in this session until you do.

ParameterscityregioncountryrequiredagentNameacceptTermsrequiredcontactEmailmaxAmountCents

create_agent_checkout

Create customer checkout

Create a hosted checkout link for a customer to pay an agent-operated business order. Use this for customer-to-business payment, not worker escrow. Requires RENTAHUMAN_API_KEY.

ParametersamountrequiredcurrencymetadatacancelUrlsuccessUrldescriptionrequiredcustomerPhoneexternalOrderIdrequired

get_agent_checkout

Get customer checkout

Get a customer checkout by ID. Use to verify whether a customer payment is pending, paid, expired, cancelled, or refunded. Requires RENTAHUMAN_API_KEY.

ParameterscheckoutIdrequired

list_agent_checkouts

List customer checkouts

List customer checkouts for a local externalOrderId. Use this to avoid duplicate payment links for the same order. Requires RENTAHUMAN_API_KEY.

ParametersexternalOrderIdrequired

refund_agent_checkout

Refund customer checkout

Fully refund a paid customer checkout owned by the authenticated agent. Use only after the customer has requested or approved the refund. Repeated calls are idempotent. Requires RENTAHUMAN_API_KEY.

ParameterscheckoutIdrequired

create_webhook_endpoint

Create webhook endpoint

Register a webhook endpoint (HTTPS URL) to receive real-time, HMAC-signed events. Event types: application.submitted, application.accepted, application.confirmed, application.rejected, application.seat_expired, application.ghost_flagged, application.started, application.start_deadline_passed, application.completion_deadline_passed, submission.submitted, submission.approved, submission.redo_requested, submission.rejected, submission.redo_deadline_passed, message.received, conversation.completion_claimed, proof.uploaded, bounty.seat_filled, bounty.completed, escrow.funded, escrow.released, payment.sent, wallet.low_balance, wallet.auto_topup_initiated, wallet.auto_topup_failed, wallet.spending_cap_hit, run.status_changed, run.report_ready, webhook.test. Use '*' for all events. Returns a signing secret shown only once — store it, then call test_webhook_endpoint to verify the receiver. Max 5 endpoints.

Parametersurlrequiredeventsrequireddescription

list_webhook_endpoints

List webhook endpoints

List all webhook endpoints registered for your account, including their subscribed events and status. Signing secrets are never returned. Requires RENTAHUMAN_API_KEY to be set.

Takes no parameters.

delete_webhook_endpoint

Delete webhook endpoint

Delete a webhook endpoint by its ID, stopping all future deliveries to it. Use list_webhook_endpoints first to see endpoint IDs. Requires RENTAHUMAN_API_KEY to be set.

ParametersendpointIdrequired

test_webhook_endpoint

Send test webhook

Send a signed 'webhook.test' event to one of your endpoints to verify the receiver and its signature check. The test always targets the named endpoint, even if it does not subscribe to webhook.test. Returns the deliveryId to inspect with get_webhook_delivery. Requires RENTAHUMAN_API_KEY to be set.

ParametersendpointIdrequired

get_webhook_deliveries

List webhook deliveries

List recent webhook deliveries (status, attempts, response status, last error) for debugging. Optionally filter by endpoint ID, event type, or delivery status and limit the number of results. Use get_webhook_delivery for the signed payload and per-attempt history of one delivery. Requires RENTAHUMAN_API_KEY to be set.

ParameterslimitstatuseventTypeendpointId

get_webhook_delivery

Get webhook delivery

Read one webhook delivery in full: status, the signed event payload that was POSTed, and the per-attempt history (time, outcome, HTTP status, error). Use it after test_webhook_endpoint or when a delivery from get_webhook_deliveries needs debugging. Requires RENTAHUMAN_API_KEY to be set.

ParametersdeliveryIdrequired

report_support_issue

Report support issue

Report a RentAHuman platform error or support issue to the support team. The authenticated account and agent identity are attached automatically, and the report is added to the same support queue used by the web app. Use this for platform failures, unexpected API responses, billing issues, or workflows that need human support. Requires RENTAHUMAN_API_KEY.

ParameterssummaryrequiredcategorypriorityerrorCodesourceTooldescriptionrequired

Version history

18
  1. v4.7.0LatestNov 5, 2026
  2. v4.6.0Nov 3, 2026
  3. v4.5.1Oct 30, 2026
  4. v4.5.0Oct 29, 2026
  5. v4.1.0Oct 22, 2026
  6. v4.0.0Oct 22, 2026
  7. v3.17.4Oct 21, 2026
  8. v3.17.2Oct 20, 2026
  9. v3.16.1Oct 19, 2026
  10. v3.15.0Oct 19, 2026
  11. v3.14.0Oct 17, 2026
  12. v3.12.3Oct 16, 2026
  13. v3.12.0Oct 15, 2026
  14. v3.11.0Oct 9, 2026
  15. v3.10.0Oct 7, 2026
  16. v3.7.0Sep 18, 2026
  17. v3.6.0Sep 17, 2026
  18. v3.5.0Sep 16, 2026

Score

65% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.

Other Human integrations