Skip to main content
Glama

Server Details

Dispatch real-world physical tasks to verified human operators. Escrow or direct-settlement.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
molt2meet-org/examples
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 50 of 50 tools scored. Lowest: 3.4/5.

Server CoherenceB
Disambiguation2/5

Multiple tools have overlapping or unclear boundaries, causing potential confusion. For example, 'approve_physical_task_completion' and 'approve_task_review' are both for approving tasks but differ by flow, while 'fund_task', 'fund_wallet', and 'checkout_wallet_deposit' all handle funding with subtle distinctions. Tools like 'get_task_events' and 'get_task_history' both provide task history, and 'cancel_physical_task' vs 'cancel_task_with_settlement' have unclear separation without careful reading.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., 'dispatch_physical_task', 'list_service_categories', 'get_wallet_balance'), which is predictable and readable. There are minor deviations like 'checkout_wallet_deposit' (verb_verb_noun) and 'test_task_webhook' (verb_noun_noun), but overall the naming is largely consistent across the set.

Tool Count2/5

With 50 tools, the count is excessive for the server's purpose of dispatching and managing physical-world tasks. Many tools could be consolidated or omitted without losing functionality, such as multiple funding-related tools or overlapping task status retrieval methods. This bloated set increases complexity and cognitive load for agents.

Completeness5/5

The tool set provides comprehensive coverage for the domain, including task dispatch, funding, status tracking, approvals, disputes, and administrative functions. There are no obvious gaps; it supports full CRUD/lifecycle operations for tasks, wallets, and agent management, ensuring agents can handle all necessary workflows without dead ends.

Available Tools

54 tools
acknowledge_direct_settlement_taskAcknowledge Direct Settlement Task
Idempotent
Inspect

DIRECT SETTLEMENT FLOW ONLY. Agent confirms that the operator completed the work and that payment has been settled on-site (cash, pin, QR, Tikkie, etc.). The task must be a DirectSettlement task (SettlementMode='direct') and in Completed status. Transitions directly to Closed — no platform escrow, no fund release. For escrow tasks use approve_task_review instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoOptional note about the acknowledgement (free text)
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to acknowledge
add_contact_methodAdd Contact MethodInspect

Add a notification channel for task status events (operator accepts, uploads proof, etc.). Use methodType 'webhook' with a URL or 'email' with an address. For webhooks: use configJson to configure how Molt2Meet authenticates to YOUR endpoint. Supported authType values: 'header' (sends authValue in authHeader, default Authorization), 'query_param' (appends authQueryParam=authValue to URL), 'basic' (sends authValue as user:pass in Authorization: Basic header). Example configJson for Bearer token: {"authType":"header","authHeader":"Authorization","authValue":"Bearer my-token"}. Example for query param: {"authType":"query_param","authQueryParam":"token","authValue":"my-secret"}. Requires: API key from register_agent. Next: dispatch_physical_task with webhookUrl for per-task events, or use this for account-wide notifications.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
endpointYesURL or address for the contact method
priorityNoPriority (1 = primary, 2 = fallback, etc.)
configJsonNoOptional: webhook auth config as JSON. Keys: authType (header|query_param|basic), authHeader (header name), authValue (token/secret), authQueryParam (param name)
methodTypeYesContact method type: webhook, email, websocket, polling, mcp_callback
add_service_interestAdd Service InterestInspect

Signal anticipated demand for a category of physical-world tasks in a region — WITHOUT dispatching a concrete task. Difference vs dispatch_physical_task: add_service_interest is a forecast/intent signal (no location, no execution). dispatch_physical_task creates a real task that operators will execute. Use this tool when you don't yet have a specific job but you know you will need this kind of task in this region. Mechanism: your service interest feeds into operator recruitment priority — categories and regions with the most agent demand are recruited for first. Similar in spirit to join_country_waitlist but at the category level instead of country level. Use cases: long-term planning (e.g. 'I will need 50 storefront verifications/week in Amsterdam'), pre-commitment to budgets, requesting capacity expansion before peak periods. Requires: API key from register_agent. Optional: use a serviceCategoryId from list_service_categories. Next: list_service_interests to verify, or dispatch_physical_task once you have a concrete task.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
regionYesRegion where you need the service (e.g. 'Amsterdam', 'worldwide')
priorityLevelNoOptional: priority level (low, medium, high, critical)
estimatedVolumeNoOptional: expected volume (e.g. 'daily', '10/week', '50/month')
budgetIndicationNoOptional: budget per task (e.g. '5-25 USD')
customDescriptionNoOptional: describe what you need if no category fits
serviceCategoryIdNoOptional: service category ID from list_service_categories
add_task_reviewAdd Task ReviewInspect

Add a review/rating for a completed task. Rate the operator's work quality. This is separate from approve/reject — it records feedback. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
ratingYesRating 1-5 (1=poor, 5=excellent)
taskIdYesTask ID to review
commentNoOptional comment about the work
tagsJsonNoOptional tags as JSON string
qualityScoreNoOptional quality score 1-5
professionalismScoreNoOptional professionalism score 1-5
approve_physical_task_completionApprove Task Completion
Idempotent
Inspect

Approve a completed task — SIMPLE FLOW ONLY. Precondition: the task was dispatched with publishImmediately=true (default) AND auto-funded from your wallet, i.e. you did NOT call request_task_quote/fund_task/publish_task (escrow flow). If you went through the escrow flow (any of those three tools), call approve_task_review instead — calling this on an escrow task returns an error with the correct tool to use. Mechanism: marks the task Completed and triggers the operator payout immediately. There is no review window for the simple flow. Task must be in ProofUploaded or UnderReview status. Requires: API key from register_agent. Next: monitor task.settled and task.closed via get_task_events — settlement happens automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
taskIdYesThe task ID to approve
approve_rescheduleApprove Reschedule
Idempotent
Inspect

Approve a reschedule request. Use this when an operator has requested a reschedule and you agree. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID the reschedule belongs to
rescheduleIdYesReschedule request ID to approve
approve_task_reviewApprove Task Review
Idempotent
Inspect

ESCROW FLOW ONLY. For direct-settlement tasks (settlementMode='direct') use acknowledge_direct_settlement_task instead — this endpoint returns 400 with a pointer when called on a direct task. Approve a completed task after reviewing the proof. Triggers payout to the operator. The task must be in UnderReview status AND settlementMode='escrow'. Funds move from locked to earned. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to approve
cancel_physical_taskCancel Physical Task
DestructiveIdempotent
Inspect

Cancel a dispatched physical-world task. Only tasks not yet completed or paid can be cancelled. Requires: API key from register_agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
reasonNoOptional: reason for cancellation
taskIdYesThe task ID to cancel
cancel_task_with_settlementCancel Task With Settlement
DestructiveIdempotent
Inspect

Cancel a task with proper financial settlement. Compensation to operator depends on task status (none before acceptance, partial after). Refund to agent for remaining amount. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to cancel
cancellationReasonCodeRefYesCancellation reason code ref (1=AgentCancelled, 2=PlatformCancelled, 3=DuplicateTask, 4=InvalidTaskDefinition, 5=FraudRisk, 6=OperatorNoShow, 7=ExternalCondition)
checkout_wallet_depositCheckout Wallet DepositInspect

Create a hosted checkout session (e.g. Stripe) to deposit funds into your wallet. Returns a checkout URL where you or your user can complete the payment. After successful payment, the wallet is automatically credited. Use this before fund_task if your wallet balance is insufficient. Default currency resolution when omitted: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. No stale USD default. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to deposit
apiKeyYesYour API key (m2m_...)
localeNoOptional locale slug for the PSP-hosted checkout UI and receipt. Supported: en, nl, de, fr, es, es-419, pt, pt-BR, it, pl. Overrides the agent's profile locale — use when the payer speaks a different language than your agent.
currencyNoCurrency code (USD, EUR, etc.). Omit for smart default based on your existing wallet(s) and most-recent task currency.
cancelUrlNoOptional: URL to redirect to if payment is cancelled
successUrlNoOptional: URL to redirect to after successful payment
check_task_fundingCheck Task Funding
Idempotent
Inspect

ESCROW FLOW ONLY. Direct-settlement tasks never have a PSP payment to check; do not call this on settlementMode='direct' tasks. Check if a PSP payment has been received for a quoted escrow task and automatically fund it. Use this after paying via checkout URL or bank transfer to verify the payment arrived. Syncs with the payment provider and funds the task if sufficient balance is available. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to check funding for
create_api_keyCreate API KeyInspect

Generate a new API key for your agent. The full plaintext key (m2m_...) is returned ONCE — store it securely immediately; it cannot be retrieved later (we only keep its hash). Use keyName to identify the key's purpose (e.g. 'production', 'staging'). Multiple keys can be active simultaneously for zero-downtime rotation. Requires: an existing API key from register_agent. Next: switch your integration to the new key, then revoke_api_key on the old one.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour existing API key (m2m_...)
keyNameYesHuman-readable name for the new key (e.g. 'production', 'staging')
dispatch_physical_taskDispatch Physical Task
Idempotent
Inspect

Primary tool. Dispatch a human operator to perform a physical-world task at a specific location and return verifiable proof (photos, GPS, timestamps, report). Structured fields (use these — don't hide them in the free-text description): serviceCategoryId (improves operator matching — call list_service_categories first to pick one), deadlineAt (absolute cutoff), timeWindowStart/End (schedule range), estimatedDurationMinutes, priority, proofRequirementsJson (machine-readable proof constraints). Coverage check: before calling this for a new region, call list_countries to verify the target country is in launch phase 'Live'. For non-Live countries (Closed/UnderEvaluation/Roadmap/Alpha/Beta), call join_country_waitlist instead — your task will fail to find an operator otherwise. Agent waitlist signups directly influence which countries we prioritize for next launch, so joining the waitlist actively brings your target country closer to Live, and you will be notified when it goes Live. Execution is asynchronous — you receive a taskId immediately, then track via get_physical_task_details or provide webhookUrl for signed status events. Auto-publish behavior: publishImmediately=true (default) means the platform tries to fund from your wallet AND publish in one call. If wallet balance is sufficient → task goes straight to Published. If wallet is empty/insufficient → the task is STILL saved (as Draft) and the response's next_actions guide you through request_task_quote → fund_task → publish_task. The response includes autoPublishDeferred=true + autoPublishDeferredReason when this fallback kicks in. You never lose the task to a wallet-balance error. Scheduling: 4 execution modes control timing. 'asap' (default) = execute immediately. 'time_window' = operator picks when within your window. 'scheduled' = exact time ± tolerance (e.g. delivery at 13:00 ±15min). 'operator_schedule' = operator commits to a time within your broad window. If executionMode is omitted, it is auto-detected: requestedTime → scheduled, timeWindowStart+End → time_window, otherwise → asap. All times are yyyyMMddHHmmss (e.g. 20260321130000 = 21 Mar 2026 13:00). IMPORTANT: timestamps are wallclock times LOCAL to the task location — not UTC, not ISO 8601. A delivery at '13:00' in Amsterdam and one at '13:00' in São Paulo both use the same format, each interpreted in their own local time. Do not convert to UTC; do not render in a different timezone. For deadline-based scheduling the relative field (quoteExpiresInSeconds, etc.) is timezone-safe and preferred. Idempotency: always pass a stable requestId (GUID, sha256 of your input, etc.) for safe retries. On network timeouts, re-send the EXACT same requestId — the platform returns the existing task (same taskId, same status) instead of creating a duplicate. The requestId is scoped per agent and is honored indefinitely (no expiry window), so reuse for the same logical intent is always safe. Different requestId = different task, even with otherwise identical payload. workflowId groups related tasks for reporting/correlation but does NOT provide idempotency. Webhook payloads use snake_case field names (task_id, event_type, occurred_at), not camelCase. Proof requirements: each ServiceCategory has a default ProofRequirementProfile that auto-validates proof (min photos, GPS radius, timestamp window, checklist). You can layer custom instructions via the proofRequirementsJson parameter (machine-readable, shown to the operator as guidance). Supported keys for proofRequirementsJson: minPhotos (int), maxPhotos (int), requireGps (bool), requireGpsWithinRadiusMeters (int), requireTimestampWithinMinutes (int), requireReportMinLength (int), requireVideo (bool), checklistItems (string[]). Send as a JSON-encoded string. Example: "{"minPhotos":4,"requireGps":true,"requireGpsWithinRadiusMeters":100,"checklistItems":["Exterior wide shot","Entrance detail"]}". The full schema reference is in /.well-known/molt2meet.json under proof_package.proof_requirements_schema. Use get_task_proofs to review submitted proof with thumbnails. Requires: API key from register_agent. Next: get_physical_task_details to check progress, or approve_physical_task_completion when proof is uploaded.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesShort task title (e.g. 'Mow lawn at 24 rue de la filature')
apiKeyYesYour Molt2Meet API key
acceptByNoOptional: deadline by which an operator must accept the task (yyyyMMddHHmmss). If no one accepts before this time, the task expires. Different from deadlineAt which is the completion deadline.
isPublicNoOptional: whether the task is publicly listed so any matching operator can accept (true, default) or privately routed (false). Use false when you plan to assign a specific operator via a future private-dispatch feature.
priorityNoOptional: priority — low, normal, high, urgent (default normal)
maxBudgetNoOptional: maximum budget you're willing to spend (in payoutCurrency). If null, defaults to payoutAmount + platform fee. Only used to cap total cost for cases where fees or add-ons might push higher.
requestIdNoOptional but strongly recommended for retry safety: unique idempotency key (GUID or sha256 of your logical intent). Re-sending the SAME requestId returns the existing task instead of creating a duplicate — safe to use on network timeouts or unclear responses. Scoped per agent, honored indefinitely. Different requestId = different task.
agentNotesNoOptional: additional notes for the operator
completeByNoOptional: deadline by which the operator must complete the task (yyyyMMddHHmmss). Distinct from deadlineAt — completeBy is specifically the finish-line; deadlineAt is a general cutoff for the whole task.
deadlineAtNoOptional: absolute deadline by which the task must be FINISHED — not started, finished (yyyyMMddHHmmss, wallclock LOCAL to the task location). Operators see this as a hard cutoff: if proof has not been uploaded and accepted before this time, the task can expire. For a 2-hour task that must be done by 18:00, set deadlineAt=20260426180000 and the operator will plan backward from it. Use timeWindowStart/End if you want to constrain WHEN the operator may work (not when they must finish).
webhookUrlNoOptional: webhook URL for task status events. IMPORTANT: if you provide a webhookUrl, also provide webhookConfigJson so Molt2Meet can authenticate to your endpoint. Without it, webhook calls will be unsigned/unauthenticated.
workflowIdNoOptional: workflow ID to group related tasks
descriptionYesDetailed instructions for the operator
pricingTypeNoOptional: pricing type — fixed, hourly, or negotiable (default fixed)
payoutAmountYesRequired: payout amount for the operator — must be within the currency's allowed range. Call list_currencies to see exact minPayoutAmount / maxPayoutAmount per currency (PSP minimum × Settlement.MinChargeMultiplier / × MaxChargeMultiplier). Total cost to you = payoutAmount + platform fee (typically ~5%). Use request_task_quote to see the exact total before funding.
bufferMinutesNoOptional: buffer in minutes outside the window for flexible time_window mode
executionModeNoOptional: execution mode — asap, time_window, scheduled, or operator_schedule. Auto-detected if omitted: requestedTime→scheduled, timeWindow→time_window, else→asap. operator_schedule must be explicit.
requestedTimeNoOptional: requested exact time (yyyyMMddHHmmss) for scheduled mode. System creates window = requestedTime ± toleranceMinutes.
timeWindowEndNoOptional: latest start time (yyyyMMddHHmmss) for time_window/operator_schedule mode
payoutCurrencyNoRequired: ISO 4217 currency code. Match the task-location's country: list_countries returns each country's currencyCode (NL→EUR, US→USD, GB→GBP, BR→BRL, etc.) — pass that exact value here. Currency must be supported (call list_currencies). Mismatch with country is allowed but discouraged: operators are paid in this currency and may convert at their own cost.
settlementModeNoOptional: settlement mode — 'escrow' (default): the platform holds funds until the task is settled. 'direct': the platform is matchmaker only and the client pays the operator directly on-site (cash, pin, QR, Tikkie, etc.). Use 'direct' for scenarios where the client is physically present (e.g. car wash, lawn mowing, on-the-spot services). Direct-settlement tasks count against your subscription plan's monthly limit; escrow tasks do not.
skillsRequiredNoOptional: skills the operator needs to have (free text, e.g. 'licensed electrician', 'notary', 'fluent in Dutch'). Shown to matching operators.
locationAddressYesPhysical address where the task must be performed
timeWindowStartNoOptional: earliest start time (yyyyMMddHHmmss) for time_window/operator_schedule mode
isFlexibleWindowNoOptional: if true, operator may start slightly outside the time window (with bufferMinutes tolerance). Default false.
locationLatitudeNoOptional: GPS latitude
locationRadiusKmNoOptional: maximum radius in km within which the task location must fall. Used for matching operators by proximity. Leave null for platform default.
toleranceMinutesNoOptional: tolerance in minutes around requestedTime for scheduled mode (required when requestedTime is set)
equipmentRequiredNoOptional: equipment the operator needs to bring (free text, e.g. 'ladder', 'measuring tape', 'DSLR camera'). Shown to matching operators.
locationLongitudeNoOptional: GPS longitude
rescheduleAllowedNoOptional: if true, agent or operator can request rescheduling after creation. Default true.
serviceCategoryIdNoOptional: service category ID from list_service_categories
webhookConfigJsonNoOptional but recommended when webhookUrl is set: JSON config for webhook authentication. Without this, webhooks are sent without auth headers. Supported authType values: 'header' (default, sends token in a header), 'query_param' (appends to URL), 'hmac' (HMAC-SHA256 signature). Examples: {"authType":"header","authHeader":"Authorization","authValue":"Bearer my-token"} or {"authType":"query_param","authQueryParam":"token","authValue":"my-secret"}
publishImmediatelyNoOptional, default true: attempt to publish the task right after creation. If your wallet has sufficient balance, the task goes straight to Published (auto-funded from wallet). If your wallet is empty/insufficient, the task is STILL saved — as Draft — and the response's next_actions guide you through request_task_quote → fund_task → publish_task. In that case the response also includes autoPublishDeferred=true with autoPublishDeferredReason explaining why. Set to false only if you want to review/edit the Draft before any funding happens.
descriptionLanguageNoOptional: BCP 47 / IETF language tag of title, description and agentNotes (e.g. 'nl', 'en', 'de', 'nl-BE', 'pt-BR'). Helps operators in border regions self-select tasks they can read. Omit when unsure — operators will treat it as 'language unspecified'.
allowedTimeSlotsJsonNoOptional: JSON array of allowed time slots for operator_schedule mode. Each slot: {"slotId":"s1","start":20260323090000,"end":20260323120000}. Operator must pick one slot when accepting.
proofRequirementsJsonNoOptional: machine-readable proof requirements as a JSON string (on top of the ServiceCategory's default profile). Supported keys: minPhotos (int), maxPhotos (int), requireGps (bool), requireGpsWithinRadiusMeters (int), requireTimestampWithinMinutes (int), requireReportMinLength (int), requireVideo (bool), checklistItems (string[]). Example: {"minPhotos":4,"requireGps":true,"requireGpsWithinRadiusMeters":100,"checklistItems":["Exterior wide shot","Entrance detail"]}. Full schema reference: /.well-known/molt2meet.json under proof_package.proof_requirements_schema.
estimatedDurationMinutesNoOptional: estimated duration in minutes
dispute_direct_settlement_taskDispute Direct Settlement TaskInspect

DIRECT SETTLEMENT FLOW ONLY. Agent raises a dispute about the work or the on-site payment. Task transitions from Completed → Disputed. Platform may mediate but has no financial leverage (no escrow to reallocate). For escrow disputes use the standard dispute flow.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
reasonYesReason for the dispute (required)
taskIdYesTask ID to dispute
fund_taskFund Task
Idempotent
Inspect

ESCROW FLOW ONLY. Direct-settlement tasks never get funded — the client pays the operator directly on-site. Calling this on a direct-settlement task returns 400. Fund a quoted task using wallet balance or PSP payment — second step of the escrow funding flow. Precondition: task must be in Quoted status AND settlementMode='escrow'. If not, call request_task_quote first. Two funding methods: 'wallet' (instant, requires sufficient available balance) or 'psp' (returns a hosted checkout URL — payment must be completed by your principal, then the task auto-funds). IMPORTANT — money flow: the wallet is always the single source of truth for your balance. PSP payments follow a two-step path: (1) Stripe/PSP credits your wallet with the paid amount, (2) the amount is locked from your wallet onto the task. This means if the task is cancelled BEFORE an operator accepts, the money stays in your wallet for future tasks — it does not auto-refund to your card. For wallet funding the flow is simpler: the amount is debited from wallet balance and locked on the task in a single step. The check_task_funding response exposes this via a fundingTrace array (e.g. ["psp_payment_received","wallet_credited","task_locked"]). Mechanism: the funded amount (totalAgentCost from the quote) is reserved and locked from your wallet. Locked funds remain in escrow until you approve the task, when they move to the operator. Fallback for wallet fundingMethod with insufficient balance: switch to 'psp', or call checkout_wallet_deposit / get_bank_transfer_details to top up first. The response's nextActions array always shows the appropriate next step. Idempotent: calling again on an already-funded task is safe — it detects the existing funding and returns the same checkout URL for psp. Next: publish_task after wallet funding. After psp funding, the task is auto-funded when the payment webhook arrives — call check_task_funding to poll if no webhook is configured. Response field 'chargedAmount' is what the PSP charges (payout + agent platform fee). The legacy 'grossAmount' field carries the same value and will be removed in v2 — use 'chargedAmount'. This is distinct from the quote response where 'grossAmount' means the operator payout before fees (that is also exposed there as 'operatorPayoutAmount'). Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
localeNoOptional (psp only): locale slug for the PSP-hosted checkout UI and receipt. Supported: en, nl, de, fr, es, es-419, pt, pt-BR, it, pl. Use this when the payer speaks a different language than your agent's profile locale — e.g. pass 'pt-BR' if the URL will be opened by a Brazilian end-user. Defaults to the agent's profile locale, then to browser auto-detect.
taskIdYesTask ID to fund
cancelUrlNoOptional (psp only): URL to redirect to when the payer cancels or closes the hosted checkout. Without this, cancellation falls back to the platform default.
returnUrlNoOptional (psp only): generic return URL used by some PSPs when success/cancel are not distinguished. Most flows should use successUrl + cancelUrl instead.
successUrlNoOptional (psp only): URL to redirect to after successful payment. Defaults to a hosted success page on the Molt2Meet domain.
fundingMethodYesFunding method: 'wallet' (pay from wallet balance) or 'psp' (pay via secure payment provider)
fund_walletFund WalletInspect

Add funds to your wallet via secure payment provider. Returns a checkout URL where you or your user can complete the payment. After successful payment, the wallet is automatically credited. Default currency resolution when omitted: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. If none available → error asking you to pass currency explicitly. No stale USD default. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to deposit
apiKeyYesYour API key (m2m_...)
localeNoOptional locale slug for the PSP-hosted checkout UI and receipt. Supported: en, nl, de, fr, es, es-419, pt, pt-BR, it, pl. Overrides the agent's profile locale — use when the payer speaks a different language than your agent. Defaults to the agent's profile locale, then to browser auto-detect.
currencyNoCurrency code (USD, EUR, etc.). Omit for smart default based on existing wallets / recent tasks.
successUrlNoReturn URL after PSP payment
get_agent_profileGet Agent Profile
Read-onlyIdempotent
Inspect

Retrieve your profile and status. Requires: API key from register_agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key (starts with m2m_)
get_bank_transfer_detailsGet Bank Transfer Details
Read-onlyIdempotent
Inspect

Get IBAN bank transfer details for funding your wallet. Each agent has a unique IBAN. Transfer money to this IBAN and your wallet will be automatically credited once the transfer is received. SEPA transfers typically take 1-3 business days. This is an alternative to PSP checkout for wallet funding. Default currency resolution when omitted: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
localeNoOptional locale slug for the PSP customer's preferred language (en, nl, de, fr, es, es-419, pt, pt-BR, it, pl). Used for Stripe email notifications tied to this customer profile. Defaults to the agent's profile locale.
currencyNoCurrency code (USD, EUR, etc.). Omit for smart default based on your existing wallet(s) and most-recent task currency.
get_decision_requestsGet Decision Requests
Read-onlyIdempotent
Inspect

Get pending decision requests for a task. Decision requests are questions from the platform or operator that require your input. Mechanism: decision requests are BLOCKING — the task cannot progress to its next status until you resolve every pending decision. The operator is waiting on your answer. Examples: operator needs more budget, location is inaccessible (try alternative entrance?), operator wants to reschedule, ambiguous instructions need clarification. Trigger: you receive a task.decision_requested webhook event and/or you see the count in get_pending_actions.decisionRequests.count. Response includes a nextActions array with one resolve_decision_request action per unresolved decision, pre-filled with the decisionId and questionCode. Requires authentication. Next: resolve_decision_request with your answer (the decision becomes resolvedAt and the task continues).

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to get decisions for
get_pending_actionsGet Pending Actions
Read-onlyIdempotent
Inspect

Check if you have any pending actions in a single call. Returns: tasks needing review/funding/publishing, open decision requests from operators, support tickets, wallet summary, and webhook health. Use this to efficiently poll for work instead of calling multiple endpoints. Requires: API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key (starts with m2m_)
get_physical_task_detailsGet Physical Task Details
Read-onlyIdempotent
Inspect

Get full details of a physical-world task including operator status, proof, timestamps, and pending decision requests. Response also includes SLA countdowns (expectedCompletionInSeconds, deadlineInSeconds, timeWindowEndInSeconds) for timezone-safe polling. Optional: includeEvents=true to inline the status event history (saves a round-trip to get_task_events). Optional: includePolicyText=true to embed the platform policy text in the response (otherwise it's available via /.well-known/molt2meet.json and register_agent). Requires: API key from register_agent. Next: approve_physical_task_completion when status is Completed or UnderReview, or cancel_physical_task if needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
taskIdYesThe task ID to retrieve
includeEventsNoOptional: include the full status event history inline (default false)
includePolicyTextNoOptional: embed the platform policy text in the response (default false)
get_support_requestsGet Support Requests
Read-onlyIdempotent
Inspect

List your support requests, complaints, and recommendations. Optionally filter by type or status. Returns request IDs, subjects, statuses, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by type: support, complaint, recommendation, billing_issue, technical_incident, policy_question
apiKeyYesYour API key (m2m_...)
statusNoFilter by status: open, in_progress, waiting_for_agent, resolved, closed
get_task_eventsGet Task Events
Read-onlyIdempotent
Inspect

Poll for task status changes. Returns status history entries after the given sequence number. Each event includes structured actor info (changedByActorType = agent|operator|system|platform, changedByActorId) for audit-trail. For operator-triggered transitions (Accepted, EnRoute, Arrived, InProgress, Completed, ProofSubmitted, Released), the event includes a 'location' object {lat, lng, accuracy, source} captured at the moment of the action — this is the same data the ProofValidationService uses for anti-fraud location-trail checks. Use after=lastEventId for incremental polling; pass after=0 for all events. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoOptional: return events after this history ID (0 for all)
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to poll events for
get_task_historyGet Task History
Read-onlyIdempotent
Inspect

Get the full status history of a task. Shows all status transitions with timestamps and reasons. Useful for understanding the task lifecycle progression. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to get history for
get_task_proofsGet Task Proofs
Read-onlyIdempotent
Inspect

Get all proof items submitted by the operator for a task. Returns metadata, GPS stamps, and validation results. Three levels of proof content: (1) default returns metadata + hasThumbnail flags (lightweight), (2) set includeThumbnails=true to include all thumbnailBase64 inline (~5-15KB each), (3) REST endpoint GET .../proofs/{proofItemId}/thumbnail for a single thumbnail as binary JPEG, (4) REST endpoint GET .../proofs/{proofItemId}/content?format=raw for full-resolution binary download. nextActions are context-aware: when proof items exist, review/approve/reject actions are suggested automatically. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to get proofs for
includeThumbnailsNoOptional: set to true to include thumbnailBase64 in the response (default false). Thumbnails are ~5-15KB each.
get_waitlist_statusGet Waitlist Status
Read-onlyIdempotent
Inspect

Check your position on the Molt2Meet waitlist, including the country you are waitlisted for (null = global pre-launch waitlist). Requires: API key from register_agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
get_wallet_balanceGet Wallet Balance
Read-onlyIdempotent
Inspect

Get your wallet balance for a specific currency. Default currency resolution when omitted: (1) if you pass currency explicitly it's honored, (2) if you have exactly one wallet that one is used, (3) otherwise the currency of your most recently created task. No stale USD default. Returns four numbers — understand them before funding a task: totalFunded = lifetime credit ever added to this wallet (gross deposit history). pendingBalance = funds the platform expects from in-flight PSP payments / bank transfers but has not yet confirmed (e.g. checkout in progress, IBAN deposit unreconciled). reservedBalance = funds earmarked for tasks that are quoted but not yet fully funded (soft hold). lockedBalance = funds in escrow for active tasks (Funded → ProofUploaded → UnderReview); released to the operator on approve, refunded on reject/cancel. availableBalance = totalFunded − reservedBalance − lockedBalance − pendingBalance — this is what you can spend on new tasks RIGHT NOW. The response also includes a 'locks' array breaking down lockedBalance into per-task entries (taskId, taskTitle, taskStatus, lockedAmount, lockedAt) so you know exactly which tasks are holding your funds. Use this before fund_task to verify you have sufficient available funds. For all currencies at once, use list_wallets. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
currencyNoCurrency code (USD, EUR, etc.). Omit for smart default based on your wallets and most-recent task currency.
get_wallet_transactionsGet Wallet Transactions
Read-onlyIdempotent
Inspect

Get your wallet transaction history. Shows all ledger entries with running balance. Optionally filter by task ID. Default currency resolution: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. No stale USD default. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdNoOptional: filter transactions for a specific task
currencyNoCurrency code (USD, EUR, etc.). Omit for smart default based on existing wallets / recent tasks.
join_country_waitlistJoin Country Waitlist
Idempotent
Inspect

Join the waitlist for a country that is not yet live on Molt2Meet (launch phase Closed, Roadmap, Alpha, or Beta). Your signup directly influences which countries we prioritize for next launch — agent demand is the primary signal we use to decide where to recruit operators next. You will be notified when the country becomes Live so you can dispatch tasks there. Use list_countries first to see available countries and their phase. Idempotent: calling again with a different country updates your country preference (one country per agent). Requires: API key from register_agent. Next: get_waitlist_status to check your position.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
countryIsoCodeYesISO 3166-1 country code (e.g. 'BR', 'PY', 'DE'). Must exist in list_countries. The country must NOT already be Live — for live countries you can dispatch tasks directly via dispatch_physical_task.
list_countriesList Countries
Read-onlyIdempotent
Inspect

List all countries with their current launch phase on Molt2Meet. Returns ISO code, name, flag, default currency, Stripe support, launch phase (Closed/UnderEvaluation/Roadmap/Alpha/Beta/Live) and expected launch date. Use this BEFORE dispatch_physical_task to (1) verify your target country is in phase 'Live' and (2) read its currencyCode — pass that value as payoutCurrency on dispatch (NL→EUR, US→USD, GB→GBP, etc.) so operators are paid in the local currency. Only Live countries can execute tasks. If your target country is in Closed/UnderEvaluation/Roadmap/Alpha/Beta phase, do NOT dispatch — instead call join_country_waitlist with the country's isoCode. Agent waitlist signups directly influence which countries we prioritize for next launch, so joining the waitlist actively brings your target country closer to going Live. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_currenciesList Currencies
Read-onlyIdempotent
Inspect

List supported (Stripe-compatible) ISO 4217 currencies for use as payoutCurrency. Default: only currencies used by currently-Live countries (typically a handful) — pass includeAll=true for the full Stripe-supported list (~130 entries). Returns code (EUR, USD, GBP), name, symbol, decimal places, zero-decimal flag, and the actual minPayoutAmount / maxPayoutAmount allowed for tasks (PSP minimum × Settlement.MinChargeMultiplier / × MaxChargeMultiplier). Use minPayoutAmount as the floor when setting dispatch_physical_task.payoutAmount. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeAllNoOptional: true to return all ~130 Stripe-supported currencies; false/omit returns only currencies used by currently-Live countries (default, much shorter response).
list_localesList Locales
Read-onlyIdempotent
Inspect

List locales supported by the Molt2Meet platform. Returns the URL slug (e.g. 'en', 'nl', 'pt-BR') you pass as the 'locale' field on register_agent, plus the BCP 47 culture name, native-language display name, and which locale is the platform default. No authentication required. Use this before register_agent if you want to set a persistent language for payment pages and future localized responses.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_physical_tasksList My Physical Tasks
Read-onlyIdempotent
Inspect

List all your dispatched physical-world tasks with current status. Use this to poll for progress if you did not provide a webhookUrl. Statuses: Draft → Published → Accepted → InProgress → Completed → UnderReview. Requires: API key from register_agent. Next: get_physical_task_details for full details on a specific task.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
list_reschedule_requestsList Reschedule Requests
Read-onlyIdempotent
Inspect

List all reschedule requests for a task. Shows pending, approved, and rejected requests. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to list reschedules for
list_service_capabilitiesList Service Capabilities
Read-onlyIdempotent
Inspect

List detailed execution options with pricing, duration, and proof types for physical-world tasks. Omit categoryId to get ALL capabilities across every category in one response — useful for semantic search by name/description when you are not sure which category fits. Pass a categoryId (from list_service_categories) to narrow down to one category. Use this to understand what proof you'll receive before dispatching a task. No authentication required. Next: dispatch_physical_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryIdNoOptional: filter by service category ID
list_service_categoriesList Service Categories
Read-onlyIdempotent
Inspect

List available categories of physical-world tasks. Returns category IDs for use with dispatch_physical_task or add_service_interest. Any real-world task can be dispatched even without a category. No authentication required. Next: list_service_capabilities for detailed options, or dispatch_physical_task to dispatch immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_service_interestsList Service Interests
Read-onlyIdempotent
Inspect

List all your registered service interests. Requires: API key from register_agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour Molt2Meet API key
list_walletsList Wallets
Read-onlyIdempotent
Inspect

List all your wallets across all currencies with balance details. Each currency has a separate wallet, created automatically on first use. Use this to see which currencies you have funds in. For a single currency, use get_wallet_balance instead. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
open_task_disputeOpen Task DisputeInspect

Open a formal dispute on a task. When to use: you believe the operator's claim is unjustified, the proof is fraudulent, or there is breach of contract. Typically called after reject_task_review if the operator contests, or pro-actively when you spot misconduct. Mechanism: opening a dispute freezes all funds (locked balance stays locked) and triggers a platform investigation. The platform reviews both sides and decides the final settlement — full refund, full payout, or compromise. Funds remain frozen until the dispute is resolved. Typical resolution time: 1-3 days. Escalation alternative: if the dispute is taking longer than 3 days without resolution, call submit_support_request with type='billing_issue', severity='high', and relatedTaskId set — this flags the case for human support to expedite. Reason codes (same as reject_task_review): 1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent. Requires authentication. Next: monitor task.disputed → terminal state via get_task_events.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoNotes explaining the dispute
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to dispute
disputeReasonCodeRefYesDispute reason code ref (1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent)
publish_taskPublish Task
Idempotent
Inspect

Publish a task to make it visible to operators. Works for both settlementMode='escrow' and 'direct' tasks. The task must be in Draft or Funded status. For escrow Draft tasks: funds are automatically reserved and locked from your wallet (requires sufficient balance). For direct-settlement Draft tasks: no funding happens — the task goes directly from Draft to Published because the client pays the operator on-site (no escrow). This is the intended shortcut for direct-settlement. For Funded tasks (after escrow Quote → Fund flow): the funds are already locked, the task is simply made visible. After publishing, operators can accept the task. Requires authentication. Next: wait for task.accepted via get_task_events or webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to publish
register_agentRegister AgentInspect

Register to dispatch physical-world tasks. No existing account needed. Returns an API key (m2m_...) required for all subsequent tools — store it securely, shown only once. For OpenClaw agents: provide agentFramework='openclaw', your callbackUrl (e.g. http://host:port/hooks), and callbackSecret (your hooks.token). Molt2Meet will then push task status events directly to you via /hooks/wake or /hooks/agent. Before registering, call get_legal_documents to read the terms you are accepting. Requires: nothing. Next: dispatch_physical_task to dispatch a task, or list_service_categories to explore options first.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoOptional: contact email for the agent's owner (for platform communications, not required for registration)
localeNoOptional: your preferred language as a locale slug (e.g. 'en', 'nl', 'de', 'pt-BR'). Must match a slug from list_locales. If omitted, per-request locale falls back to the Accept-Language header. Affects payment pages (Stripe) and future localized responses.
agentNameYesYour name or organization name
agentTypeYesFree-text label for the agent type (not a closed enum) — use a short slug like 'personal_assistant', 'business_automation', 'research_agent', 'custom'. Stored as-is for your own categorization; the platform does not validate against a fixed list.
websiteUrlNoOptional: your website URL
callbackUrlNoOptional: callback URL where Molt2Meet sends task status events. For OpenClaw: your gateway URL + /hooks path (e.g. http://127.0.0.1:18789/hooks)
descriptionYesWhat you do
acceptedTermsYesREQUIRED — must be true. Confirms you accept the Terms and Conditions, Privacy Policy, Acceptable Use Policy, and Agent Platform Terms. Call get_legal_documents first to read the documents you are accepting. Registration is rejected if this is false or omitted.
agentFrameworkNoOptional: agent framework — openclaw, langchain, crewai, autogen, custom. Enables framework-optimized event delivery.
callbackSecretNoOptional: secret/token for authenticating callbacks to you. For OpenClaw: your hooks.token value. Stored encrypted, never exposed.
referralSourceNoOptional: how you found Molt2Meet
frameworkVersionNoOptional: framework version (e.g. 1.2.0)
callbackConfigJsonNoOptional: callback config as JSON. For OpenClaw: {"mode":"agent","sessionKeyPattern":"m2m:{taskId}","wakeMode":"now"}
acceptedTermsVersionNoOptional: the version string of the legal documents you read before accepting (as returned by get_legal_documents). If provided and outdated, registration fails so you can re-read. If omitted, the server records the currently-active version at registration time.
reject_rescheduleReject Reschedule
Idempotent
Inspect

Reject a reschedule request. Use this when an operator has requested a reschedule and you disagree. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID the reschedule belongs to
rescheduleIdYesReschedule request ID to reject
reject_task_reviewReject Task ReviewInspect

ESCROW FLOW ONLY. Reject a completed task after reviewing the proof. The task must be in UnderReview status AND settlementMode='escrow'. The operator can contest via dispute. Funds are frozen pending resolution. For direct-settlement tasks use dispute_direct_settlement_task instead. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoOptional notes explaining the rejection
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to reject
rejectReasonCodeRefYesReject reason code ref (1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent)
reply_to_support_requestReply To Support RequestInspect

Add a follow-up message to an existing support request. Use this to provide additional context, respond to questions, or add logs/evidence. If the request was waiting for your input, it will automatically move back to in_progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe message body to append to the support thread
apiKeyYesYour API key (m2m_...)
requestIdYesSupport request ID
attachmentJsonNoOptional JSON attachment (e.g. webhook logs, error details)
request_rescheduleRequest RescheduleInspect

Propose a new time window for a task. Precondition: task must have rescheduleAllowed=true (set at dispatch time via dispatch_physical_task). If the flag was not set, the request is rejected — you cannot reschedule a task you originally created with rescheduleAllowed=false. Mechanism: creates a Pending reschedule entry. The other party (operator) must approve before the new schedule takes effect. Until then the original schedule remains in force. Provide at least one of: newTimeWindowStart/End (range), newRequestedTime (preferred time), newCommittedTime (firm commitment). All times in yyyyMMddHHmmss format. Effect: does NOT immediately change the task — only opens a request. Operator can approve (new schedule applies) or reject (original schedule remains). Operator can also propose a counter-reschedule which appears in list_reschedules and you must Approve/Reject. Requires authentication. Next: list_reschedules to verify status, or wait for operator response via get_task_events.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
reasonNoReason for rescheduling
taskIdYesTask ID to reschedule
newCommittedTimeNoOptional new committed time (yyyyMMddHHmmss)
newRequestedTimeNoOptional new requested time (yyyyMMddHHmmss)
newTimeWindowEndNoOptional new time window end (yyyyMMddHHmmss)
newTimeWindowStartNoOptional new time window start (yyyyMMddHHmmss)
request_task_quoteRequest Task QuoteInspect

ESCROW FLOW ONLY. Direct-settlement tasks (settlementMode='direct') skip quote/fund entirely — they go Draft → publish_task directly because there is no escrow. If you accidentally call this on a direct-settlement task the platform returns 400 with a pointer to publish_task. Request a fee calculation for a task — first step of the escrow funding flow. Precondition: task must be in Draft or Quoted status with a payoutAmount set, AND settlementMode='escrow'. Calling this on an already-funded task returns an error. Mechanism: the platform calculates split fees — a platform fee charged to you (agent) on top of the payout amount, plus a platform fee deducted from the operator's payout. The total you pay is totalAgentCost (= payoutAmount + platformFeeByAgent). Returns the fee breakdown plus a wallet status object showing whether your balance is sufficient. Fallback: if your wallet balance is insufficient, the response's nextActions array offers FundViaPsp (per-task hosted checkout), checkout_wallet_deposit (top up wallet first), and get_bank_transfer_details (IBAN top up). Pick whichever matches your funding pattern. Next: fund_task with the chosen fundingMethod, then publish_task. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to quote
resolve_decision_requestResolve Decision Request
Idempotent
Inspect

Answer a pending decision request. Provide your decision as a JSON string. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID the decision belongs to
decisionIdYesDecision request ID to resolve
agentDecisionJsonYesYour decision as JSON string
revoke_api_keyRevoke API Key
DestructiveIdempotent
Inspect

Permanently deactivate an API key by its database ID. Requests using the revoked key are rejected immediately. Use this after rotating to a new key via create_api_key. You cannot revoke the key you are currently authenticating with in the same call — use a different active key. Requires: API key from register_agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...) — must be different from the one being revoked
apiKeyIdYesDatabase ID of the API key to revoke
submit_support_requestSubmit Support RequestInspect

Submit a support request, complaint, or recommendation. Use this to report issues, request help, file complaints, or suggest improvements. Returns a request ID for tracking. Next: get_support_requests to check status, reply_to_support_request to add context.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesType: support, complaint, recommendation, billing_issue, technical_incident, policy_question
apiKeyYesYour API key (m2m_...)
messageYesDetailed description of the issue, question, or suggestion
subjectYesBrief subject line
categoryNoFree-form category (e.g. webhook, settlement, integration, billing)
severityNoUrgency: low, normal, high, critical (default: normal)
relatedTaskIdNoRelated task ID for context
relatedSettlementIdNoRelated settlement ID for context
requestedResolutionNoWhat resolution you'd like
relatedWebhookEventIdNoRelated webhook event ID (PspWebhookLog.ID) — useful when reporting webhook delivery or signing issues so the platform can correlate the report with the original event.
test_task_webhookTest Task Webhook
Idempotent
Inspect

Send a test webhook event (webhook.test) to verify your endpoint configuration. Uses the same authentication headers and HMAC signing as real events. Rate limited to 3 tests per 5 minutes. Configure webhookUrl and webhookConfigJson first via update_task_webhook. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID with webhookUrl configured
update_agent_profileUpdate Agent Profile
Idempotent
Inspect

Update your profile. All fields are optional — only provide the fields you want to change. Use get_agent_profile first to see current values. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoContact email address
apiKeyYesYour API key (m2m_...)
agentNameNoNew agent display name
agentTypeNoAgent type (e.g. development, production, enterprise)
websiteUrlNoWebsite URL
descriptionNoNew description
update_task_locationUpdate Task Location
Idempotent
Inspect

Update the location of a Draft task. Re-runs geocoding and returns new resolvedLocation, geocodingConfidence, and location_warnings. Precondition: task must be in Draft or Published status. Once an operator has accepted the task, the address is locked — cancel the task and recreate it with the corrected address if absolutely needed. Use this when the initial dispatch returned location_warnings or low confidence (area_center/approximate): provide a more specific address with house number and postal code to get a rooftop match. publishImmediately (default false): when true AND the updated address has no new location_warnings, the same auto-publish/fund ladder runs as on dispatch_physical_task — direct tasks publish immediately, escrow tasks auto-fund from wallet if sufficient, or return auto_publish_deferred with next_actions. Use this to correct a typo + go live in a single call. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to update — must be in Draft status
locationAddressNoNew address (leave null to only update lat/lng). Provide as much detail as possible: street, house number, postal code, city, country.
locationLatitudeNoOptional: override latitude (decimal degrees, e.g. 52.3728)
locationRadiusKmNoOptional: search radius in km for operator matching
locationLongitudeNoOptional: override longitude (decimal degrees, e.g. 4.8936)
publishImmediatelyNoOptional (default false): publish immediately after the update if no new location_warnings are raised. For escrow tasks, auto-funds from wallet when balance is sufficient. For direct-settlement, publishes without funding.
update_task_webhookUpdate Task Webhook
Idempotent
Inspect

Update webhook settings for a task. Use this to configure or change the webhookUrl and/or authentication for webhook delivery. If your webhook endpoint requires authentication (e.g., returns 401 Unauthorized), provide webhookConfigJson with your auth details. Only provided fields are updated. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour API key (m2m_...)
taskIdYesTask ID to update
webhookUrlNoNew webhook URL. Pass null to keep current value.
webhookConfigJsonNoJSON config for webhook authentication. Supported authType: 'header', 'query_param', 'basic'. Example: {"authType":"header","authHeader":"Authorization","authValue":"Bearer my-token"}

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.