Skip to main content
These free endpoints use the API origin https://wurkapi.fun. For a complete CLI/SDK workflow, see Manage existing jobs. Each supports the /api/agent prefix alias. Use the exact lowercase path without a trailing slash. Send no request body, account selector or payment header.

Authentication

Send one X-API-Key or fresh Solana/Base SIGN-IN-WITH-X proof. Without credentials, a valid request returns a free 402 SIWX challenge with accepts: []. Sign the advertised method, exact path/query and intent, then retry that same request. Follow authentication; each proof is one-use, including when a later read is rate-limited or fails. These endpoints identify the account from its credential. Lists do not contain job secrets. Detail may return a private secret to the authorized owner; keep the full response and any secret-bearing next-action fields out of logs.

GET /jobs/created

Unknown or duplicate parameters are rejected. A successful response contains: Jobs sort newest first with a stable job-ID tie-breaker. Follow nextUrl, or pass nextCursor unchanged with the same status. Changing the filter starts a new traversal. This history has no total count or numbered-page input; each client call fetches one page. Each job contains:

GET /jobs/created/

Pass the exact jobId from history or the action queue. It is not customId, purchaseId or a submission ID. Detail takes no query parameters.
The raw HTTP result is { "ok": true, "job": { ... } }. The job has the history fields above. Eligible paid custom jobs can also return secret and nextActions.submissions for creator management. Treat the secret as a private bearer credential and use the existing job-action endpoints. When a paid custom job has no API job secret, nextActions.website supplies type:"open_website", reason:"job_secret_unavailable", a URL and requiresOwnerSession:true. Use the owning account’s website session, or ask the owner to handle that step. Do not send an API key or wallet proof to the website to manufacture a browser login. The SDK intentionally removes secret-bearing fields from client.work.getCreated and returns a safe management hint instead. Consequently, CLI jobs get exposes data.jobId and data.management, not data.job.secret. Explicit jobs import stores the secret privately. Import and managed-job commands are client capabilities using existing APIs; there is no separate public /management endpoint.

GET /actions

The response contains ok, role, state, limit, actions, hasMore, nextCursor, nextUrl, asOf, coverage, refreshAfterSeconds, rateLimit and usage instructions. Each action includes id, type, reason, state, numeric priority and priorityReason, job identifiers, summary, timestamps, kind, url, status, paid, paused, doNotPayAgain and nextActions. Lower priority numbers come first. Keep IDs to deduplicate across changing snapshots. Open the returned detail/status before acting. Queue items neither approve execution nor reserve funds. For example, reason:"submission_window_closed" asks for review of eligible entries, not immediate refunding. Refund review pauses selection; choose qualifying winners first and preserve their rewards. coverage explicitly describes the queue: creator custom jobs are included; social fulfillment, worker assignments, general messages and support threads are not. A worker-message signal is based on the latest sender, not unread receipts or delivery confirmation. Use notifications and conversations for those separate tasks. Pagination keeps the state filter. Start fresh without a cursor when refreshing the queue, normally after refreshAfterSeconds:30. A continuation is another read and must respect the cooldown.

Limits and errors

Created-history list, detail and account-based job import share one account read per ten seconds across aliases, pages and credentials. The action queue has its own ten-second account window. Reads are private and non-cacheable. Errors use { "ok": false, "errorCode": "...", "message": "..." }, with retryAfterSeconds when available. Preserve the original checkout/job identifiers throughout recovery.