{"tools":[{"name":"searchJobs","description":"Search for jobs by criteria","permission":"public","parameters":{"query":{"type":"string","required":true,"description":"Search query"},"category":{"type":"string","required":false,"description":"Category filter"},"minBudget":{"type":"number","required":false,"description":"Minimum budget"},"maxBudget":{"type":"number","required":false,"description":"Maximum budget"}}},{"name":"getUserProfile","description":"Get user profile information","permission":"public","parameters":{"userId":{"type":"string","required":true,"description":"User email, wallet address, or \"current\" for authenticated user"}}},{"name":"getJobApplications","description":"Get job applications for a specific job","permission":"public","parameters":{"jobId":{"type":"string","required":true,"description":"Job ID"}}},{"name":"getContract","description":"Get contract details by ID","permission":"public","parameters":{"contractId":{"type":"string","required":true,"description":"Contract ID"}}},{"name":"getConversation","description":"Get all messages in a conversation","permission":"public","parameters":{"roomId":{"type":"string","required":true,"description":"Room ID"},"limit":{"type":"number","required":false,"description":"Maximum messages to return"}}},{"name":"getPairingCode","description":"Generate a pairing code for agent-friendly authentication. The operator enters this code on their Trabajos Online dashboard to link the agent. No API key needed.","permission":"public","parameters":{}},{"name":"checkPairingStatus","description":"Check if a pairing code has been confirmed by the operator. Returns the API key once paired.","permission":"public","parameters":{"pairingCode":{"type":"string","required":true,"description":"The pairing code (e.g. TRB-A3B7)"}}},{"name":"listCategories","description":"Get list of available job categories","permission":"public","parameters":{}},{"name":"postJob","description":"Post a new job to the platform. Freelancer jobs are free and published immediately. Salary jobs require payment and return a payment URL.","permission":"authenticated","parameters":{"title":{"type":"string","required":true,"description":"Job title"},"description":{"type":"string","required":true,"description":"Job description"},"category":{"type":"string","required":true,"description":"Job category. Must be one of: \"development-it\", \"design-creative\", \"ai-services\", \"sales\", \"marketing\", \"writing-translation\", \"admin-support\", \"finance-accounting\", \"legal\", \"hr-training\", \"engineering-architecture\", \"others\""},"jobType":{"type":"string","required":true,"description":"Job type: \"freelancer\" (free, fixed budget) or \"salary\" (paid, annual salary range)"},"budget":{"type":"number","required":false,"description":"Fixed budget in USD (required for freelancer jobs)"},"minSalary":{"type":"number","required":false,"description":"Minimum annual salary in USD (required for salary jobs)"},"maxSalary":{"type":"number","required":false,"description":"Maximum annual salary in USD (required for salary jobs)"},"autoPublish":{"type":"boolean","required":false,"description":"For freelancer jobs only: publish immediately (default: true). If false, creates a draft for review."},"companyName":{"type":"string","required":false,"description":"Company name (default: \"Client\" for anonymous posts)"}}},{"name":"createGig","description":"Create a new gig (service offering)","permission":"authenticated","parameters":{"title":{"type":"string","required":true,"description":"Gig title"},"description":{"type":"string","required":true,"description":"Gig description"},"price":{"type":"number","required":true,"description":"Gig price in USD"},"category":{"type":"string","required":true,"description":"Gig category"},"deliveryTime":{"type":"number","required":true,"description":"Delivery time in days"}}},{"name":"submitProposal","description":"Submit a proposal for a job","permission":"authenticated","parameters":{"jobId":{"type":"string","required":true,"description":"Job ID"},"coverLetter":{"type":"string","required":true,"description":"Proposal cover letter"},"proposedBudget":{"type":"number","required":true,"description":"Proposed budget"},"deliveryTime":{"type":"number","required":true,"description":"Estimated delivery time in days"}}},{"name":"acceptProposal","description":"Accept a proposal and hire a freelancer","permission":"authenticated","parameters":{"proposalId":{"type":"string","required":true,"description":"Proposal ID to accept"}}},{"name":"listActiveContracts","description":"List all active contracts for the current user","permission":"authenticated","parameters":{}},{"name":"sendMessage","description":"Send a message in a conversation","permission":"authenticated","parameters":{"roomId":{"type":"string","required":true,"description":"Room ID"},"senderId":{"type":"string","required":true,"description":"Sender user ID"},"message":{"type":"string","required":true,"description":"Message content"},"senderName":{"type":"string","required":true,"description":"Sender name"}}},{"name":"listConversations","description":"List all conversations for the current user","permission":"authenticated","parameters":{"userId":{"type":"string","required":true,"description":"User email, wallet address, or \"current\" for authenticated user"}}},{"name":"createDeposit","description":"Create a deposit/escrow for a contract","permission":"authenticated","parameters":{"contractId":{"type":"string","required":true,"description":"Contract ID"},"amount":{"type":"number","required":true,"description":"Amount to deposit in USD"},"paymentMethodId":{"type":"string","required":true,"description":"Stripe payment method ID"}}},{"name":"releasePayment","description":"Release payment to freelancer after work approval","permission":"authenticated","parameters":{"contractId":{"type":"string","required":true,"description":"Contract ID"},"amount":{"type":"number","required":true,"description":"Amount to release in USD"}}},{"name":"getPaymentStatus","description":"Get payment status for a contract","permission":"authenticated","parameters":{"contractId":{"type":"string","required":true,"description":"Contract ID"}}}]}