{"openapi":"3.1.0","info":{"title":"Salyant Signal API","version":"1.0.0","description":"Authenticated audit and checkout endpoints. One free audit is available per website domain per UTC calendar month, irrespective of email address. Further single-page audits cost £5 and crawls of up to five same-origin pages cost £15. Production checkout uses Stripe-hosted Payment Links. When the domain's free audit has been used, paid fulfilment requires the server-generated paymentOrderId and the Stripe checkoutSessionId returned after payment. API access requires SIGNAL_API_KEY."},"servers":[{"url":"https://signal.salyant.co.uk"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/integrations?action=audit":{"post":{"summary":"Run a site audit","description":"Uses the same URL validation, SSRF protections and domain/month entitlement checks as the dashboard. For a repeat audit after successful Payment Link checkout, supply both paymentOrderId and checkoutSessionId. The server verifies the paid order, amount, customer email, target website and audit scope before fulfilment. paymentSessionId is retained only for legacy Checkout deployments.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url","email"],"properties":{"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"scope":{"type":"string","enum":["page","site"]},"paymentOrderId":{"type":"string","description":"Server-generated order ID returned when creating a Payment Link checkout."},"checkoutSessionId":{"type":"string","description":"Stripe Checkout Session ID returned after the customer completes payment."},"paymentSessionId":{"type":"string","description":"Legacy parameter for deployments using Stripe Checkout Sessions directly."}}}}}},"responses":{"200":{"description":"Audit report"},"401":{"description":"API key missing or invalid"},"402":{"description":"Paid checkout required or not confirmed"},"409":{"description":"Free entitlement already used or checkout session already used"},"429":{"description":"Rate limited"}}}},"/api/integrations?action=checkout":{"post":{"summary":"Create a one-time checkout","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url","email"],"properties":{"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"scope":{"type":"string","enum":["page","site"]}}}}}},"responses":{"200":{"description":"Stripe-hosted Payment Link URL and server-generated payment order ID"},"503":{"description":"Paid checkout is not configured"}}}}}}