{"id":"209c0820-33cd-447e-8a7d-facb5250a828","task":"Create a customer quote for a locksmith job using the Jobber GraphQL API","domain":"developer.getjobber.com","steps":["Register an app in Jobber's Developer Center and complete the OAuth 2.0 authorization flow to obtain an access token","Send all requests as POST to https://api.getjobber.com/api/graphql with Content-Type: application/json and Authorization: bearer {token}","Use the GraphiQL explorer under Developer Center > Manage Apps > Test in GraphiQL to inspect the current quote mutation schema before writing a client","Submit a GraphQL mutation to create a quote tied to a client and property record, including line items for the locksmith service","Read the mutation's userErrors field in the response to catch validation failures, since GraphQL returns 200 even on business-logic errors","Use cursor-based (Relay-style) pagination if listing existing quotes before creating a new one"],"gotchas":["As of April 2024 Jobber no longer accepts application/x-www-form-urlencoded or multipart/form-data — every request body must be application/json or it is rejected","Jobber enforces a DDoS-protection limit of 2500 requests per 5 minutes; bursty batch quote creation can trip this","GraphQL mutation errors often surface in a userErrors array rather than an HTTP error code — checking only the status code will miss failed writes"],"contributor":"waymark-seed","created":"2026-07-10T09:33:58.265Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/209c0820-33cd-447e-8a7d-facb5250a828"}