{"id":67952,"recorded_at":"2026-10-26T14:37:45.447262Z","observed_at":"2026-10-26T14:37:45.447215Z","subject_kind":"source_record","subject":"x402_bazaar:https://api.paidpilot.io/v1/invoice-from-timesheet","kind":"listing","method":"baseline/1","body":{"endpoints":[["x402","https://api.paidpilot.io/v1/invoice-from-timesheet"]],"name":"PaidPilot Invoice API","owner_address":"0x2daf658b01e257206375798a15832e9f547d65dd","raw":{"accepts":[{"amount":"20000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"maxTimeoutSeconds":120,"network":"eip155:8453","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD","scheme":"exact"}],"description":"Turn timesheet entries into invoice JSON. $0.02 USDC on Base per call. Hours x rate, optional rounding, grouping, expenses, tax and terms become a validated invoice JSON with totals, ready for /v1/invoice.pdf. Don't use this for the PDF itself; send the result to /v1/invoice.pdf.","extensions":{"bazaar":{"info":{"input":{"body":{"buyer":{"name":"Blue River Bakery"},"currency":"USD","default_rate":85,"entries":[{"date":"2026-10-05","description":"Website fixes","hours":1.6},{"date":"2026-10-06","description":"Website fixes","hours":2.25},{"date":"2026-10-08","description":"Menu photo shoot","hours":3,"rate":95}],"expenses":[{"amount":29,"description":"Stock photo license"}],"group_by":"description","invoice_number":"INV-1002","issue_date":"2026-10-11","rounding":{"increment_minutes":15,"mode":"up"},"seller":{"email":"billing@acme.example","name":"Acme Web Studio LLC"},"tax_rate":7,"terms":"Net 15"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"hours":{"billed":7,"entered":6.85,"entries":3,"entries_rounded_to_zero":0},"invoice":{"buyer":{"name":"Blue River Bakery"},"currency":"USD","due_date":"2026-10-26","invoice_number":"INV-1002","issue_date":"2026-10-11","line_items":[{"description":"Website fixes (2026-10-05 to 2026-10-06)","quantity":4,"unit_price":85},{"description":"Menu photo shoot (2026-10-08)","quantity":3,"unit_price":95},{"description":"Expense: Stock photo license","quantity":1,"unit_price":29}],"payment_instructions":"Terms: Net 15, due 2026-10-26.","seller":{"email":"billing@acme.example","name":"Acme Web Studio LLC"},"tax_rate":7},"line_count":3,"next":{"pdf":"POST https://api.paidpilot.io/v1/invoice.pdf with the \"invoice\" object as the JSON body ($0.02 in USDC via x402) to get the PDF.","validate_free":"POST https://api.paidpilot.io/v1/invoice/validate"},"rounding":"up 15 min per entry","totals":{"currency":"USD","discount":"0.00 USD","subtotal":"654.00 USD","tax":"45.78 USD","total":"699.78 USD"}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"buyer":{"properties":{"address":{"maxLength":400,"type":"string"},"email":{"format":"email","maxLength":254,"pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"},"phone":{"maxLength":40,"type":"string"},"tax_id":{"maxLength":60,"type":"string"}},"required":["name"],"type":"object"},"currency":{"default":"USD","type":"string"},"default_rate":{"description":"Hourly rate for entries without their own rate","maximum":1000000,"minimum":0,"type":"number"},"discount":{"maximum":1000000000,"minimum":0,"type":"number"},"due_date":{"description":"YYYY-MM-DD; or give terms instead","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"entries":{"items":{"additionalProperties":false,"properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"description":{"maxLength":250,"minLength":1,"type":"string"},"hours":{"exclusiveMinimum":0,"maximum":1000,"type":"number"},"rate":{"maximum":1000000,"minimum":0,"type":"number"}},"required":["description","hours"],"type":"object"},"maxItems":500,"minItems":1,"type":"array"},"expenses":{"description":"Reimbursable expenses, one line each","items":{"additionalProperties":false,"properties":{"amount":{"maximum":1000000000,"minimum":0,"type":"number"},"description":{"maxLength":250,"minLength":1,"type":"string"}},"required":["description","amount"],"type":"object"},"maxItems":100,"type":"array"},"group_by":{"default":"entry","description":"entry = one line per entry; description = merge entries with the same description and rate","enum":["entry","description"],"type":"string"},"invoice_number":{"maxLength":64,"minLength":1,"type":"string"},"issue_date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"notes":{"maxLength":2000,"type":"string"},"payment_instructions":{"maxLength":1000,"type":"string"},"rounding":{"additionalProperties":false,"properties":{"increment_minutes":{"anyOf":[{"const":1,"type":"number"},{"const":5,"type":"number"},{"const":6,"type":"number"},{"const":10,"type":"number"},{"const":15,"type":"number"},{"const":30,"type":"number"},{"const":60,"type":"number"}],"description":"Round each entry to this many minutes"},"mode":{"default":"up","enum":["up","nearest"],"type":"string"}},"required":["increment_minutes"],"type":"object"},"seller":{"properties":{"address":{"maxLength":400,"type":"string"},"email":{"format":"email","maxLength":254,"pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"},"phone":{"maxLength":40,"type":"string"},"tax_id":{"maxLength":60,"type":"string"}},"required":["name"],"type":"object"},"tax_rate":{"maximum":100,"minimum":0,"type":"number"},"terms":{"description":"e.g. \"Net 15\"; sets due_date from issue_date (early-pay discounts are not applied to the invoice)","maxLength":40,"minLength":1,"type":"string"}},"required":["seller","buyer","invoice_number","issue_date","entries"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}}},"lastUpdated":"2026-10-24T14:46:14.039Z","quality":{"l30DaysTotalCalls":4,"l30DaysUniquePayers":2,"lastCalledAt":"2026-10-24T14:46:13.919Z"},"resource":"https://api.paidpilot.io/v1/invoice-from-timesheet","serviceName":"PaidPilot Invoice API","tags":["timesheet","invoice","billable-hours","time-tracking"],"type":"http","x402Version":2},"source":"x402_bazaar","summary":"Turn timesheet entries into invoice JSON. $0.02 USDC on Base per call. Hours x rate, optional rounding, grouping, expenses, tax and terms become a validated invoice JSON with totals, ready for /v1/invoice.pdf. Don't use this for the PDF itself; send the result to /v1/invoice.pdf."},"body_sha256":"a50bfabd6c49a5169ddb75da05186a53650b28ef210a88db47b806c2c3e76dcc","prev_id":null,"leaf":"0x89d5a9d12ae782906de96a3c1f235f127e1d467ea059b6a8cce1c04812598b63","leaf_text":"{\"body\":\"a50bfabd6c49a5169ddb75da05186a53650b28ef210a88db47b806c2c3e76dcc\",\"id\":67952,\"kind\":\"listing\",\"method\":\"baseline/1\",\"observed_us\":1793025465447215,\"prev\":null,\"subject\":\"x402_bazaar:https://api.paidpilot.io/v1/invoice-from-timesheet\",\"subject_kind\":\"source_record\"}","day":null,"proof":[]}