Skip to main content
Glama

create_job_offer

Hire humans for real-world tasks by creating job offers with pricing, location filtering, and payment options including one-time or streaming payments.

Instructions

Create a job offer for a human. Requires a registered agent API key or x402 payment ($0.25 USDC on Base via x-payment header). RATE LIMITS: PRO tier = 15 offers/day. x402 payments bypass tier limits. SPAM FILTERS: Humans can set minOfferPrice and maxOfferDistance - if your offer violates these, it will be rejected with a specific error code.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
human_idYesThe ID of the human to hire
titleYesTitle of the job/task
descriptionYesDetailed description of what needs to be done
categoryNoCategory of the task (e.g., "photography", "research", "delivery")
price_usdcYesAgreed price in USDC. Must meet the human's minOfferPrice if set.
agent_idYesYour unique agent identifier (any string)
agent_keyYesYour registered agent API key (starts with hp_). Required.
agent_nameNoDisplay name override (defaults to registered agent name)
agent_latNoAgent latitude for distance filtering. Required if human has maxOfferDistance set.
agent_lngNoAgent longitude for distance filtering. Required if human has maxOfferDistance set.
callback_urlNoWebhook URL to receive job status updates (ACCEPTED, REJECTED, PAID, COMPLETED). Must be a public HTTP(S) endpoint.
callback_secretNoSecret for HMAC-SHA256 signature verification (min 16 chars). The signature is sent in X-HumanPages-Signature header.
payment_modeNoPayment mode. ONE_TIME (default) for single payments. STREAM for ongoing stream payments.
payment_timingNoFor ONE_TIME jobs only. "upfront" (default) = pay before work. "upon_completion" = pay after work is done.
stream_methodNoStream method. SUPERFLUID: agent creates an on-chain flow that streams tokens per-second. MICRO_TRANSFER: agent sends periodic discrete transfers. Required when payment_mode=STREAM.
stream_intervalNoHow often payments are made/checkpointed. Required when payment_mode=STREAM.
stream_rate_usdcNoUSDC amount per interval (e.g., 10 = $10/day if interval=DAILY). Required when payment_mode=STREAM.
stream_max_ticksNoOptional cap on number of payment intervals. Null = indefinite.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure and excels at it. It clearly explains authentication methods (API key or x402 payment), rate limits (PRO tier = 15 offers/day, x402 bypasses limits), spam filters (minOfferPrice, maxOfferDistance constraints), and error handling (rejection with specific error codes). This provides comprehensive operational context beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with three sentences that each serve distinct purposes: stating the core function, explaining authentication and rate limits, and detailing spam filters. While slightly dense due to the complex operational details, every sentence earns its place by providing essential behavioral context that isn't captured elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex mutation tool with 18 parameters and no annotations or output schema, the description provides strong contextual completeness. It covers authentication, payment, rate limiting, and filtering constraints that are crucial for correct usage. The main gap is the lack of information about return values or success/failure responses, which would be helpful given there's no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, providing detailed documentation for all 18 parameters. The description doesn't add significant parameter-specific information beyond what's already in the schema, though it does mention constraints like 'minOfferPrice' and 'maxOfferDistance' that relate to the price_usdc and agent_lat/lng parameters. This meets the baseline expectation when schema coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a job offer for a human') and identifies the resource ('job offer'), making the purpose immediately apparent. It distinguishes this tool from siblings like 'create_listing' or 'make_listing_offer' by focusing on direct hiring rather than marketplace listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool by specifying authentication requirements (API key or x402 payment) and constraints (rate limits, spam filters). However, it doesn't explicitly mention when NOT to use it or name alternative tools for related actions, such as 'create_listing' for marketplace posts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/human-pages-ai/humanpages'

If you have feedback or need assistance with the MCP directory API, please join our Discord server