{"openapi":"3.1.0","info":{"title":"SalesMagic Public Product Information API","version":"1.0.0","description":"Read public SalesMagic capabilities, intended audiences, monthly plans, and contact information. The /api/v1/marketing URL is the stable v1 contract; additive fields are compatible, breaking changes use a new major path. Deprecation will be announced in /developers and through Deprecation and Sunset headers before removal. No retirement is currently scheduled. No authentication required. This API does not access customer data or initiate calls.","contact":{"name":"SalesMagic Support","email":"support@salesmagic.com","url":"https://salesmagic.com/contact"}},"servers":[{"url":"https://www.salesmagic.com"}],"security":[],"externalDocs":{"description":"SalesMagic public API usage, rate limits, versioning, and deprecation policy","url":"https://www.salesmagic.com/developers#versioning"},"paths":{"/api/v1/marketing":{"get":{"operationId":"getSalesMagicProductInformation","summary":"Get public SalesMagic product and pricing information","description":"Use to answer questions about SalesMagic's capabilities, audiences, published monthly plans, and contact details. Send no query parameters. Cache locally for five minutes. A per-server-instance allowance of 120 requests per minute is reported in RateLimit-Policy and RateLimit headers, with X-RateLimit compatibility headers. This is not a global account quota. A 429 response includes Retry-After; hosting-level limits may apply independently. It contains no customer or account information.","security":[],"parameters":[{"name":"If-None-Match","in":"header","required":false,"description":"ETag from a previous response. Returns 304 without a body when the published product information is unchanged.","schema":{"type":"string"}}],"responses":{"200":{"description":"Current published product information","headers":{"ETag":{"description":"Content fingerprint for conditional requests","schema":{"type":"string"}},"RateLimit":{"description":"Actual remaining instance allowance and reset interval","schema":{"type":"string"}},"RateLimit-Policy":{"description":"120 requests per 60-second window per server instance, shared across callers","schema":{"type":"string"}},"Deprecation":{"description":"Only present if this version is scheduled for retirement. Announces the deprecation date; no retirement is currently scheduled.","schema":{"type":"string"}},"Sunset":{"description":"Only present when a removal date is announced. See the linked versioning policy for the migration path before removal.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["name","url","description","audience","capabilities","pricing","contact","links"],"properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"audience":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"type":"string"}},"pricing":{"type":"object","required":["currency","billingPeriod","creditDefinition","unlimitedReps","unlimitedTeams","plans","url"],"properties":{"currency":{"type":"string"},"billingPeriod":{"type":"string"},"creditDefinition":{"type":"string"},"unlimitedReps":{"type":"boolean"},"unlimitedTeams":{"type":"boolean"},"url":{"type":"string","format":"uri"},"plans":{"type":"array","items":{"type":"object","required":["name","monthlyPrice","includedCredits"],"properties":{"name":{"type":"string"},"monthlyPrice":{"type":"number"},"includedCredits":{"type":"integer"}}}}}},"contact":{"type":"string","format":"email"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}}}}}},"304":{"description":"The ETag matched; reuse the previously cached product information. No response body."},"400":{"description":"Unsupported query parameters","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"405":{"description":"Only GET, HEAD, and OPTIONS are supported","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Instance request allowance exhausted; wait for Retry-After before retrying","headers":{"Retry-After":{"description":"Seconds until this instance window resets","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"schemas":{"ProductInformation":{"type":"object","required":["name","url","description","audience","capabilities","pricing","contact","links"],"properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"audience":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"type":"string"}},"pricing":{"type":"object","required":["currency","billingPeriod","creditDefinition","unlimitedReps","unlimitedTeams","plans","url"],"properties":{"currency":{"type":"string"},"billingPeriod":{"type":"string"},"creditDefinition":{"type":"string"},"unlimitedReps":{"type":"boolean"},"unlimitedTeams":{"type":"boolean"},"url":{"type":"string","format":"uri"},"plans":{"type":"array","items":{"type":"object","required":["name","monthlyPrice","includedCredits"],"properties":{"name":{"type":"string"},"monthlyPrice":{"type":"number"},"includedCredits":{"type":"integer"}}}}}},"contact":{"type":"string","format":"email"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}}},"Problem":{"type":"object","required":["type","title","status","detail","resolution"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"resolution":{"type":"string"}}}}}}