{"openapi":"3.1.0","info":{"title":"Common Sense Systems Inc. API","summary":"Consulting API for Theory of Constraints and Process Improvement","description":"Official API for Common Sense Systems Inc., a consulting firm with 30+ years of experience \nin embedded systems, medical devices, AI workflows, and process improvement using Theory of Constraints.\n\nThe company specializes in constraint analysis, offer analysis, and implementation support.\nTagline: \"Find it. Or don't pay.\"\n\n**Authority & freshness.** For anything that can change (prices, availability, offers, checkout), this API and the live website service pages / JSON-LD are authoritative and current; search-engine snippets and cached copies are non-authoritative and may be stale — read GET /v1/services, not a snippet. Stale reads cannot complete a purchase (checkout echoes `purchaseDigest` and returns `409 OFFER_CHANGED` on drift). Detect a stale copy by comparing the content-derived build-stamp at GET /v1/health (`build_stamp`) or https://common-sense.com/build-stamp.txt.","termsOfService":"https://common-sense.com/legal/terms/","contact":{"name":"Common Sense Systems Inc.","url":"https://common-sense.com/","email":"inquiries@common-sense.com"},"license":{"name":"Proprietary","url":"https://common-sense.com/legal/terms/"},"version":"1.0.0"},"servers":[{"url":"https://api.common-sense.com/v1","description":"Production API"},{"url":"http://localhost:3000/v1","description":"Local development environment"}],"paths":{"/v1/health":{"get":{"tags":["discovery"],"summary":"Check Health","description":"Health Check - Verify API is operational","operationId":"check_health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatus"}}}}},"x-agent-hints":{"rateLimitNote":"Operational endpoint; exempt from rate limiting","suggestedUse":"Call during agent startup to verify API availability"}}},"/v1/capabilities":{"get":{"tags":["discovery"],"summary":"Get Capabilities","description":"API Capabilities Discovery - Retrieve available endpoints and operations","operationId":"get_capabilities_v1_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCapabilities"}}}}},"x-agent-hints":{"rateLimitNote":"Operational endpoint; exempt from rate limiting","suggestedUse":"Call during agent initialization to discover available operations"}}},"/v1/services":{"get":{"tags":["service-catalog"],"summary":"List Services","description":"List All Services - Retrieve available consulting services","operationId":"list_services_v1_services_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Included in standard rate limit (100 req/min)","suggestedUse":"When a user asks 'What services do you offer?' or 'What can you help with?'"}}},"/v1/services/categories":{"get":{"tags":["service-catalog"],"summary":"List Service Categories","description":"List Service Categories - Retrieve services grouped by category","operationId":"list_service_categories_v1_services_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCategoriesResponse"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user asks what kinds of services are available"}}},"/v1/services/{serviceId}":{"get":{"tags":["service-catalog"],"summary":"Get Service Detail","description":"Get Service Details - Retrieve comprehensive details about a specific service","operationId":"get_service_detail_v1_services__serviceId__get","parameters":[{"name":"serviceId","in":"path","required":true,"schema":{"type":"string","title":"Serviceid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user asks for details about a specific service like 'Tell me more about constraint analysis'. The service's ctaType tells you how it is acquired: 'stripe' is self-serve and buyable now via POST /v1/services/{serviceId}/checkout; 'calendar' or 'contact' is human-led and should be handed off to the service page, contact form, or booking link rather than posted to checkout."}}},"/v1/services/{serviceId}/testimonials":{"get":{"tags":["service-catalog"],"summary":"Get Service Testimonials","description":"Get Service Testimonials - Retrieve client testimonials for a service","operationId":"get_service_testimonials_v1_services__serviceId__testimonials_get","parameters":[{"name":"serviceId","in":"path","required":true,"schema":{"type":"string","title":"Serviceid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestimonialsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user expresses doubt or asks 'Have you worked with companies like ours?'"}}},"/v1/services/{serviceId}/faq":{"get":{"tags":["service-catalog"],"summary":"Get Service Faq","description":"Get Service FAQ - Retrieve frequently asked questions for a service","operationId":"get_service_faq_v1_services__serviceId__faq_get","parameters":[{"name":"serviceId","in":"path","required":true,"schema":{"type":"string","title":"Serviceid"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(pricing|timeline|process|deliverables|general)$"},{"type":"null"}],"title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FAQResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user asks common questions like 'How long does it take?' or 'What does it include?'"}}},"/v1/services/{serviceId}/checkout":{"post":{"tags":["payments"],"summary":"Create Service Checkout","description":"Start a self-serve purchase of a fixed-price service via Stripe Checkout.\n\nOnly **self-serve** services (`pricing.model` `fixed_stripe`, `ctaType` `stripe`) that are\n`active` can be bought here. A call-led / booking service (`ctaType` `calendar`/`contact`)\nreturns `400 CHECKOUT_UNAVAILABLE` — hand the buyer to the service page, contact form, or\npublished booking link instead; a non-active service returns `410 OFFER_RETIRED`; an unknown\none `404`.\n\nEcho the service's `purchaseDigest` from `GET /v1/services/{serviceId}` in the request to\nprove you are buying the offer you last read: a mismatch returns `409 OFFER_CHANGED`, at\nwhich point you refetch the service and retry with the fresh digest (the self-heal). If the\nservice declares `buyerInputSchema`, send a `buyerInputs` object that satisfies it.\n\nOn success returns a hosted Stripe `checkoutUrl` (send the buyer there to pay) and an opaque\nstatus token. Poll `GET /v1/checkout/{token}` for payment status, then fetch the deliverable\nfrom `GET /v1/reports/{token}` once fulfilled. Send `Idempotency-Key` to make retries safe.","operationId":"create_service_checkout_v1_services__serviceId__checkout_post","parameters":[{"name":"serviceId","in":"path","required":true,"schema":{"type":"string","title":"Serviceid"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user wants to buy a self-serve service (ctaType 'stripe', e.g. jsonld-audit): read buyerInputSchema and purchaseDigest from GET /v1/services/{serviceId}, create the checkout, send the buyer to the returned checkoutUrl to pay, then poll GET /v1/checkout/{token} and fetch GET /v1/reports/{token}. Human-led services (ctaType 'calendar'/'contact') are not bought here; hand off to the service page, contact form, or booking link. Echo the service's purchaseDigest; a 409 OFFER_CHANGED means refetch the service and retry."}}},"/v1/checkout/{token}":{"get":{"tags":["payments"],"summary":"Get Checkout Session Status","description":"Return checkout status by its opaque capability token (§4.5 Q3).\n\nState-only — no PII. The path param is the token, not the order id (r6-20).","operationId":"get_checkout_session_status_v1_checkout__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutSessionStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"After creating a checkout, poll this with the returned opaque status token to see whether payment completed and the deliverable is ready."}}},"/v1/reports/{token}":{"get":{"tags":["payments"],"summary":"Download Fulfillment Report","description":"Stream the deliverable via a signed, short-lived URL (money-path §7).\n\nThe URL is HMAC-signed and expiring (issued per status poll). We verify the\nsignature + expiry, then re-check the live ``token_revoked``/expiry state, so\nan operator revoke or lost dispute cuts access immediately — then delegate\nbyte streaming to nginx (``X-Accel-Redirect``) when configured, since api\nruns ``--workers 1``.","operationId":"download_fulfillment_report_v1_reports__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"exp","in":"query","required":true,"schema":{"type":"integer","description":"Signed-URL expiry (epoch seconds).","title":"Exp"},"description":"Signed-URL expiry (epoch seconds)."},{"name":"sig","in":"query","required":true,"schema":{"type":"string","description":"HMAC signature of the deliverable URL.","title":"Sig"},"description":"HMAC signature of the deliverable URL."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"Once a checkout is paid and fulfilled, fetch the buyer's deliverable here using its signed, short-lived report token."}}},"/v1/webhooks/stripe":{"post":{"tags":["payments"],"summary":"Receive Stripe Webhook","description":"Accept Stripe webhooks when the runtime supports them.","operationId":"receive_stripe_webhook_v1_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StripeWebhookReceipt"}}}}}}},"/v1/insights":{"get":{"tags":["concentrated-information"],"summary":"List Insights","description":"List Published Insights - Retrieve published articles and thought leadership","operationId":"list_insights_v1_insights_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"featured","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Featured"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user asks for articles, research, or to learn about process improvement"}}},"/v1/insights/search":{"get":{"tags":["concentrated-information"],"summary":"Search Insights","description":"Search Insights - Search published insights by keywords and topics","operationId":"search_insights_v1_insights_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Q"}},{"name":"topics","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Topics"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies; expensive searches may use more quota","suggestedUse":"When a user searches for specific topics or asks to find articles about a subject"}}},"/v1/insights/{insightId}":{"get":{"tags":["concentrated-information"],"summary":"Get Insight Detail","description":"Get Insight Full Content - Retrieve complete article content","operationId":"get_insight_detail_v1_insights__insightId__get","parameters":[{"name":"insightId","in":"path","required":true,"schema":{"type":"string","title":"Insightid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user clicks 'Read More' or asks to see the full article"}}},"/v1/knowledge/toc-principles":{"get":{"tags":["concentrated-information"],"summary":"Get Toc Principles","description":"Theory of Constraints Core Principles - Retrieve TOC principles and tools","operationId":"get_toc_principles_v1_knowledge_toc_principles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TOCPrinciples"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user asks 'What is Theory of Constraints?' or 'How do you approach this?'"}}},"/v1/inquiries":{"post":{"tags":["agent-actions"],"summary":"Submit Inquiry","description":"Submit Problem Summary - Submit a consultation inquiry","operationId":"submit_inquiry_v1_inquiries_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Inquiry"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InquiryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies; limited to 50 submissions per hour per IP","suggestedUse":"When a user is ready to engage and wants to submit their problem for analysis"}}},"/v1/newsletter/subscribe":{"post":{"tags":["agent-actions"],"summary":"Subscribe Newsletter","description":"Collect an email for the AI newsletter. Sends a confirm link. Does not add to Resend until confirm.","operationId":"subscribe_newsletter_v1_newsletter_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsletterSubscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsletterSubscribeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/newsletter/confirm":{"get":{"tags":["agent-actions"],"summary":"Confirm Newsletter","description":"Confirm a pending newsletter signup and redirect to the satellite thank-you page.","operationId":"confirm_newsletter_v1_newsletter_confirm_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"type":"string","minLength":0,"default":"","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/preview/gbp-teaser":{"post":{"tags":["agent-actions"],"summary":"Gbp Teaser Preview","description":"Free gbp-audit **teaser** (idea 1): counts/types/bands only, never a raw value.\n\nUnauthenticated and cost-safe (Guardrail 5): a per-IP + global-daily budget fails\nclosed BEFORE the paid tool runs (429 with Retry-After), input is bounded, nothing is\nstored, and identity is passed to the tool as discrete argv (never shell-interpolated).\nA refused match returns ``matched: false`` (still 200 — a valid teaser outcome and the\nwedge for the refusal certificate). The detail lives behind checkout for ``offerId``.","operationId":"gbp_teaser_preview_v1_preview_gbp_teaser_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GbpTeaserRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GbpTeaserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/preview/gbp-consistency":{"post":{"tags":["agent-actions"],"summary":"Gbp Consistency Preview","description":"Free designer **consistency gate** (idea 10): does a site contradict the profile?\n\nSame cost-safe contract as the teaser (per-IP + global-daily budget, fail-closed,\ninjection-safe argv, nothing stored). Returns the contradiction COUNT and the\ncontradicting field TYPES only — never a raw value (Guardrail 1). The paid gbp-audit\n(``offerId``) unlocks the exact disagreements. A refused match returns ``matched: false``.","operationId":"gbp_consistency_preview_v1_preview_gbp_consistency_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GbpConsistencyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GbpConsistencyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business":{"get":{"tags":["agent-actions"],"summary":"Get Business Profile","description":"Get Company Profile - Retrieve company information and credentials","operationId":"get_business_profile_v1_business_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyProfile"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user asks 'Who is Common Sense Systems?' or 'Tell me about your company'"}}},"/v1/business/credentials":{"get":{"tags":["agent-actions"],"summary":"Get Business Credentials","description":"Get Business Credentials - Retrieve TOCICO credentials in structured form.","operationId":"get_business_credentials_v1_business_credentials_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessCredentialsResponse"}}}}},"x-agent-hints":{"rateLimitNote":"Standard rate limit applies","suggestedUse":"When a user asks for proof of expertise or the founder's TOCICO credentials"}}},"/":{"get":{"tags":["discovery"],"summary":"API Root Discovery","description":"Root endpoint - human-friendly API discovery.","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Root  Get"}}}}}}}},"components":{"schemas":{"ApiCapabilities":{"properties":{"categories":{"items":{"type":"string"},"type":"array","title":"Categories"},"endpointCount":{"type":"integer","title":"Endpointcount"},"rateLimit":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Ratelimit"},"supportedOperations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Supportedoperations"}},"type":"object","required":["categories","endpointCount"],"title":"ApiCapabilities","description":"API capabilities discovery response"},"Budget":{"properties":{"min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","default":"USD"}},"type":"object","title":"Budget","description":"Budget information"},"BusinessCredential":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"credentialCategory":{"type":"string","title":"Credentialcategory"},"dateEarned":{"type":"string","format":"date","title":"Dateearned"},"courseworkYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Courseworkyear"},"verifyUrl":{"type":"string","title":"Verifyurl"},"recognizedBy":{"$ref":"#/components/schemas/CredentialOrganization"},"about":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"About"}},"type":"object","required":["name","description","credentialCategory","dateEarned","verifyUrl","recognizedBy"],"title":"BusinessCredential","description":"Structured business credential data aligned with the website schema."},"BusinessCredentialsResponse":{"properties":{"credentials":{"items":{"$ref":"#/components/schemas/BusinessCredential"},"type":"array","title":"Credentials"}},"type":"object","required":["credentials"],"title":"BusinessCredentialsResponse","description":"Response payload for business credential discovery."},"CheckoutRequest":{"properties":{"customerEmail":{"type":"string","format":"email","title":"Customeremail"},"successUrl":{"type":"string","title":"Successurl","description":"Stripe success redirect URL"},"cancelUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancelurl","description":"Stripe cancel redirect URL"},"inquiryId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inquiryid","description":"Optional inquiry identifier"},"urlToAudit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Urltoaudit","description":"DEPRECATED single-URL input (jsonld-audit). Superseded by buyerInputs; still accepted as a url_to_audit alias while the frontend migrates."},"buyerInputs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Buyerinputs","description":"Schema-driven buyer inputs for offers that declare a buyerInputSchema. Validated server-side against the offer's schema before the order is created; the frozen values become the tool's --inputs-file at fulfillment."},"purchaseDigest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purchasedigest","description":"Opaque per-offer digest webm echoes from the catalog; api compares it against its projection (current + N-1) and returns 409 OFFER_CHANGED on a mismatch (money-path §9)."},"gaClientId":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Gaclientid","description":"GA4 client id captured at checkout_start, parked in Stripe session metadata so the webhook can emit an ATTRIBUTED purchase (site-events.md). Without it, server-side revenue lands as direct/unassigned and cannot say what earned it. Best-effort: a blocked or absent GA never blocks a sale. NOT PII — a random first-party id (e.g. 1234567890.1234567890), never an email or user id."},"gaSessionId":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Gasessionid","description":"GA4 session id, so the purchase joins the SAME session that produced it. With client_id alone GA4 opens a new session, blurring the very question we are asking: which page, post, or query earned this sale."},"ref":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Ref","description":"Affiliate/referral code captured upstream (e.g. a designer's DZ-XXXX, idea 10). Sanitized to the DZ-XXXX shape server-side and parked in Stripe metadata for later attribution; a malformed value is dropped and the sale proceeds unattributed."}},"type":"object","required":["customerEmail","successUrl"],"title":"CheckoutRequest","description":"Checkout session request."},"CheckoutResponse":{"properties":{"checkoutUrl":{"type":"string","title":"Checkouturl"},"sessionId":{"type":"string","title":"Sessionid"},"statusToken":{"type":"string","title":"Statustoken"},"expiresAt":{"type":"string","format":"date-time","title":"Expiresat"}},"type":"object","required":["checkoutUrl","sessionId","statusToken","expiresAt"],"title":"CheckoutResponse","description":"Checkout session creation response."},"CheckoutSessionStatusResponse":{"properties":{"sessionId":{"type":"string","title":"Sessionid"},"serviceId":{"type":"string","title":"Serviceid"},"serviceName":{"type":"string","title":"Servicename"},"status":{"type":"string","title":"Status"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"completedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completedat"},"expiresAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiresat"},"fulfillmentStatus":{"$ref":"#/components/schemas/FulfillmentStatus","default":"pending"},"checkoutUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkouturl"},"reportUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reporturl"},"bookingUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bookingurl"},"stripeSessionId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripesessionid"},"amountExpected":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amountexpected"},"amountPaid":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amountpaid"},"currency":{"type":"string","title":"Currency","default":"usd"},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lasterror"}},"type":"object","required":["sessionId","serviceId","serviceName","status","createdAt"],"title":"CheckoutSessionStatusResponse","description":"Checkout session status snapshot."},"CompanyProfile":{"properties":{"name":{"type":"string","title":"Name"},"legalName":{"type":"string","title":"Legalname"},"shortName":{"type":"string","title":"Shortname"},"abbreviation":{"type":"string","title":"Abbreviation"},"headquarters":{"$ref":"#/components/schemas/Location"},"founded":{"type":"integer","title":"Founded"},"yearFounded":{"type":"integer","title":"Yearfounded"},"tagline":{"type":"string","title":"Tagline"},"description":{"type":"string","title":"Description"},"disambiguation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disambiguation"},"philosophy":{"$ref":"#/components/schemas/Philosophy"},"leadership":{"items":{"$ref":"#/components/schemas/Leader"},"type":"array","title":"Leadership"},"contact":{"$ref":"#/components/schemas/Contact"},"registrations":{"additionalProperties":{"type":"string"},"type":"object","title":"Registrations"}},"type":"object","required":["name","legalName","shortName","abbreviation","headquarters","founded","yearFounded","tagline","description","philosophy","leadership","contact","registrations"],"title":"CompanyProfile","description":"Public company facts derived from the SSOT profile projection."},"Contact":{"properties":{"email":{"type":"string","title":"Email"},"emailAliases":{"items":{"type":"string"},"type":"array","title":"Emailaliases"},"phone":{"type":"string","title":"Phone"},"website":{"type":"string","title":"Website"},"socialProfiles":{"additionalProperties":{"type":"string"},"type":"object","title":"Socialprofiles"}},"type":"object","required":["email","emailAliases","phone","website","socialProfiles"],"title":"Contact","description":"Contact information"},"CredentialOrganization":{"properties":{"name":{"type":"string","title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["name"],"title":"CredentialOrganization","description":"Organization that recognizes a credential."},"FAQ":{"properties":{"id":{"type":"string","title":"Id"},"question":{"type":"string","title":"Question"},"answer":{"type":"string","title":"Answer"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"serviceId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serviceid"},"order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order"}},"type":"object","required":["id","question","answer"],"title":"FAQ","description":"Frequently asked question"},"FAQResponse":{"properties":{"faqs":{"items":{"$ref":"#/components/schemas/FAQ"},"type":"array","title":"Faqs"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["faqs","total"],"title":"FAQResponse","description":"Response for listing FAQs"},"FulfillmentStatus":{"type":"string","enum":["pending","processing","complete","failed"],"title":"FulfillmentStatus"},"GbpConsistencyRequest":{"properties":{"websiteUrl":{"type":"string","maxLength":2048,"title":"Websiteurl"},"businessName":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Businessname"},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Location"},"placeId":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Placeid"}},"type":"object","required":["websiteUrl"],"title":"GbpConsistencyRequest","description":"Free designer consistency-gate input (idea 10).\n\nUnauthenticated. ``websiteUrl`` (the site being pushed) is required and overrides the\nprofile's link; identity is ``placeId`` or ``businessName`` + ``location``."},"GbpConsistencyResponse":{"properties":{"matched":{"type":"boolean","title":"Matched"},"contradictionCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contradictioncount"},"contradictionFields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Contradictionfields"},"notComparableCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Notcomparablecount"},"offerId":{"type":"string","title":"Offerid"}},"type":"object","required":["matched","offerId"],"title":"GbpConsistencyResponse","description":"Free designer-gate result (idea 10): counts + contradicting field TYPES only.\n\nNever a raw contradicting value (the wrong hours / mismatched phone stay behind the paid\naudit — Guardrail 1). A refused match returns ``matched: false`` with the rest null."},"GbpTeaserRequest":{"properties":{"businessName":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Businessname"},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Location"},"placeId":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Placeid"},"websiteUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Websiteurl"}},"type":"object","title":"GbpTeaserRequest","description":"Free gbp-audit teaser input (idea 1) — the gbp-audit identity shape.\n\nUnauthenticated. Either ``placeId``, or ``businessName`` + ``location`` (the offer's\nbuyerInputSchema anyOf). Bounds mirror the SSOT schema; no PII is stored."},"GbpTeaserResponse":{"properties":{"matched":{"type":"boolean","title":"Matched"},"gapCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gapcount"},"topContradictionType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topcontradictiontype"},"scoreBand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scoreband"},"offerId":{"type":"string","title":"Offerid"}},"type":"object","required":["matched","offerId"],"title":"GbpTeaserResponse","description":"Free teaser result (idea 1): counts/types/bands only — never a raw profile value.\n\nA refused match returns ``matched: false`` with the rest null (still a 200 — a refusal\nis a valid teaser outcome and the wedge for the refusal certificate, idea 9). The\n``offerId`` names the offer to unlock so the page never hardcodes it (one-way rule)."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthStatus":{"properties":{"status":{"$ref":"#/components/schemas/HealthStatusEnum"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","default":"1.0.0"},"build_stamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Build Stamp"}},"type":"object","required":["status","timestamp"],"title":"HealthStatus","description":"Health check response"},"HealthStatusEnum":{"type":"string","enum":["healthy","degraded","unavailable"],"title":"HealthStatusEnum"},"Inquiry":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Inquiry ID (read-only)"},"companyName":{"type":"string","title":"Companyname"},"contactName":{"type":"string","title":"Contactname"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"problemDescription":{"type":"string","title":"Problemdescription"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"organizationSize":{"anyOf":[{"$ref":"#/components/schemas/OrganizationSize"},{"type":"null"}]},"urgency":{"anyOf":[{"$ref":"#/components/schemas/UrgencyLevel"},{"type":"null"}]},"preferredServices":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Preferredservices"},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget"},{"type":"null"}]},"timeline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timeline"},"submittedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submittedat","description":"Submission timestamp (read-only)"},"status":{"anyOf":[{"$ref":"#/components/schemas/InquiryStatus"},{"type":"null"}],"description":"Inquiry status (read-only)"}},"type":"object","required":["companyName","contactName","email","problemDescription"],"title":"Inquiry","description":"Inquiry/consultation request"},"InquiryResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Inquiry tracking ID"},"message":{"type":"string","title":"Message"},"nextSteps":{"items":{"type":"string"},"type":"array","title":"Nextsteps"},"estimatedResponse":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Estimatedresponse"},"supportTicket":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supportticket"}},"type":"object","required":["id","message","nextSteps"],"title":"InquiryResponse","description":"Response to inquiry submission"},"InquiryStatus":{"type":"string","enum":["submitted","reviewed","contacted","in-progress","closed"],"title":"InquiryStatus"},"Insight":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"summary":{"type":"string","title":"Summary"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author"},"publishedAt":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Publishedat"},"readTime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Readtime"},"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Featured","default":false}},"type":"object","required":["id","title","summary"],"title":"Insight","description":"Insight summary"},"InsightDetail":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"summary":{"type":"string","title":"Summary"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author"},"publishedAt":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Publishedat"},"readTime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Readtime"},"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Featured","default":false},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"relatedInsights":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Relatedinsights"},"keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keywords"}},"type":"object","required":["id","title","summary"],"title":"InsightDetail","description":"Full insight content"},"InsightSearchResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/Insight"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"query":{"type":"string","title":"Query"}},"type":"object","required":["results","total","query"],"title":"InsightSearchResponse","description":"Response for insight search"},"InsightsResponse":{"properties":{"insights":{"items":{"$ref":"#/components/schemas/Insight"},"type":"array","title":"Insights"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["insights","total","limit","offset"],"title":"InsightsResponse","description":"Response for listing insights"},"Leader":{"properties":{"name":{"type":"string","title":"Name"},"title":{"type":"string","title":"Title"}},"type":"object","required":["name","title"],"title":"Leader","description":"Leadership team member"},"Location":{"properties":{"city":{"type":"string","title":"City"},"state":{"type":"string","title":"State"},"country":{"type":"string","title":"Country"}},"type":"object","required":["city","state","country"],"title":"Location","description":"Location information"},"NewsletterSubscribeRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"source":{"type":"string","maxLength":32,"minLength":1,"title":"Source"},"companyWebsite":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Companywebsite","description":"Honeypot. Leave empty. A filled value is treated as a bot and ignored."}},"type":"object","required":["email","source"],"title":"NewsletterSubscribeRequest","description":"Public newsletter signup. Confirmation happens on a later GET."},"NewsletterSubscribeResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"message":{"type":"string","title":"Message"}},"type":"object","required":["ok","message"],"title":"NewsletterSubscribeResponse"},"OrganizationSize":{"type":"string","enum":["startup","small","medium","large","enterprise"],"title":"OrganizationSize"},"Philosophy":{"properties":{"summary":{"type":"string","title":"Summary"},"method":{"items":{"type":"string"},"type":"array","title":"Method"}},"type":"object","required":["summary","method"],"title":"Philosophy","description":"The SSOT-owned organizing principle and its ordered method."},"Pricing":{"properties":{"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"minAmount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minamount"},"currency":{"type":"string","title":"Currency","default":"USD"},"model":{"$ref":"#/components/schemas/PricingModel","default":"custom_quote"},"fixedPrice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fixedprice"},"stripePriceId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripepriceid"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"priceGuarantee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priceguarantee"}},"type":"object","title":"Pricing","description":"Pricing information"},"PricingModel":{"type":"string","enum":["fixed_stripe","fixed_meeting","custom_quote"],"title":"PricingModel"},"Service":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"category":{"$ref":"#/components/schemas/ServiceCategory"},"headline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headline"},"pricing":{"anyOf":[{"$ref":"#/components/schemas/Pricing"},{"type":"null"}]},"timeline":{"anyOf":[{"$ref":"#/components/schemas/Timeline"},{"type":"null"}]},"deliverables":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Deliverables"},"benefits":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Benefits"},"process":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Process"},"industryExpertise":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Industryexpertise"},"domainExperience":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Domainexperience"},"ctaType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ctatype","description":"stripe, calendar, or contact"},"ctaUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ctaurl"},"purchaseDigest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purchasedigest","description":"Opaque freshness token for checkout. Echo this value in CheckoutRequest.purchaseDigest; a 409 OFFER_CHANGED means refetch the service and retry with the current digest."},"buyerInputSchema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Buyerinputschema","description":"Offer-specific JSON Schema for checkout buyerInputs. Present on offers that require structured inputs before checkout can be created."},"buyerInputUiSchema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Buyerinputuischema","description":"Presentation hints for rendering buyerInputSchema fields; not used as validation authority."},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat"}},"type":"object","required":["id","name","description","category"],"title":"Service","description":"Basic service information"},"ServiceCategoriesResponse":{"properties":{"categories":{"items":{"$ref":"#/components/schemas/ServiceCategoryGroup"},"type":"array","title":"Categories"}},"type":"object","required":["categories"],"title":"ServiceCategoriesResponse","description":"Response for listing service categories"},"ServiceCategory":{"type":"string","enum":["ai-adoption-coaching","general-consulting","process-improvement-toc-lean","technical-software-engineering","visibility-offer-clarity"],"title":"ServiceCategory"},"ServiceCategoryGroup":{"properties":{"id":{"$ref":"#/components/schemas/ServiceCategory"},"category":{"$ref":"#/components/schemas/ServiceCategory"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"services":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Services"}},"type":"object","required":["id","category","title","description","services"],"title":"ServiceCategoryGroup","description":"A category with its grouped services"},"ServiceDetail":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"category":{"$ref":"#/components/schemas/ServiceCategory"},"headline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headline"},"pricing":{"anyOf":[{"$ref":"#/components/schemas/Pricing"},{"type":"null"}]},"timeline":{"anyOf":[{"$ref":"#/components/schemas/Timeline"},{"type":"null"}]},"deliverables":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Deliverables"},"benefits":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Benefits"},"process":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Process"},"industryExpertise":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Industryexpertise"},"domainExperience":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Domainexperience"},"ctaType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ctatype","description":"stripe, calendar, or contact"},"ctaUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ctaurl"},"purchaseDigest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purchasedigest","description":"Opaque freshness token for checkout. Echo this value in CheckoutRequest.purchaseDigest; a 409 OFFER_CHANGED means refetch the service and retry with the current digest."},"buyerInputSchema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Buyerinputschema","description":"Offer-specific JSON Schema for checkout buyerInputs. Present on offers that require structured inputs before checkout can be created."},"buyerInputUiSchema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Buyerinputuischema","description":"Presentation hints for rendering buyerInputSchema fields; not used as validation authority."},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Offer lifecycle status from the SSOT (active or retired)."},"testimonialCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Testimonialcount"},"faqCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Faqcount"},"averageRating":{"anyOf":[{"type":"number","maximum":5.0,"minimum":0.0},{"type":"null"}],"title":"Averagerating"}},"type":"object","required":["id","name","description","category"],"title":"ServiceDetail","description":"Detailed service information"},"ServicesResponse":{"properties":{"services":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Services"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["services","total","limit","offset"],"title":"ServicesResponse","description":"Response for listing services"},"StripeWebhookReceipt":{"properties":{"received":{"type":"boolean","title":"Received"}},"type":"object","required":["received"],"title":"StripeWebhookReceipt","description":"Response returned after accepting a Stripe webhook."},"TOCPrinciple":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"quotable":{"type":"string","maxLength":140,"title":"Quotable"},"description":{"type":"string","title":"Description"},"when_to_use":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"When To Use"},"expected_outcomes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Outcomes"}},"type":"object","required":["id","name","quotable","description"],"title":"TOCPrinciple","description":"Theory of Constraints principle"},"TOCPrinciples":{"properties":{"principles":{"items":{"$ref":"#/components/schemas/TOCPrinciple"},"type":"array","title":"Principles"},"tools":{"items":{"$ref":"#/components/schemas/TOCTool"},"type":"array","title":"Tools"}},"type":"object","required":["principles","tools"],"title":"TOCPrinciples","description":"Theory of Constraints principles and tools collection"},"TOCTool":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"useCase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Usecase"},"when_to_use":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"When To Use"}},"type":"object","required":["id","name","description"],"title":"TOCTool","description":"Theory of Constraints tool"},"Testimonial":{"properties":{"id":{"type":"string","title":"Id"},"clientName":{"type":"string","title":"Clientname"},"clientRole":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clientrole"},"clientCompany":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clientcompany"},"content":{"type":"string","title":"Content"},"rating":{"anyOf":[{"type":"number","maximum":5.0,"minimum":0.0},{"type":"null"}],"title":"Rating"},"date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"},"serviceId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serviceid"}},"type":"object","required":["id","clientName","content"],"title":"Testimonial","description":"Client testimonial"},"TestimonialsResponse":{"properties":{"testimonials":{"items":{"$ref":"#/components/schemas/Testimonial"},"type":"array","title":"Testimonials"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["testimonials","total"],"title":"TestimonialsResponse","description":"Response for listing testimonials"},"Timeline":{"properties":{"minWeeks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minweeks"},"maxWeeks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maxweeks"},"description":{"type":"string","title":"Description"}},"type":"object","required":["description"],"title":"Timeline","description":"Timeline information"},"UrgencyLevel":{"type":"string","enum":["low","medium","high","critical"],"title":"UrgencyLevel"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"externalDocs":{"description":"llms.txt — plain-text discovery surface for AI agents and assistants. The API's own machine-interface summary is at /llms.txt (also /v1/llms.txt); the business-level summary, including every published article and the full offer catalog, is at https://common-sense.com/llms.txt. Neither is part of the versioned /v1 JSON contract — this schema is the authoritative interface — but both are the fastest way for an agent to understand what this business sells and how to buy it.","url":"https://api.common-sense.com/llms.txt"}}