{"openapi":"3.1.0","info":{"title":"Monoplan Public Product API","version":"1.0.0","description":"Read-only product information about Monoplan: plans, integrations and guides. It needs no authentication and never returns customer workspace data. Limit: about 60 requests per minute per IP address, applied per Cloudflare location. Breaking changes ship in a new URL version, and a deprecated version keeps working for at least 90 days with Deprecation and Sunset headers.","contact":{"name":"Monoplan support","email":"support@monoplan.dk"},"license":{"name":"Proprietary","url":"https://monoplan.io/developers"}},"servers":[{"url":"https://monoplan.io"}],"externalDocs":{"url":"https://monoplan.io/developers"},"security":[],"tags":[{"name":"Product","description":"Public product information."}],"paths":{"/api/v1/plans":{"get":{"operationId":"listPlans","tags":["Product"],"summary":"List pricing plans","description":"Returns every current plan with prices in DKK per active employee per month, excluding VAT.","parameters":[{"name":"locale","in":"query","required":false,"description":"Language of the returned text.","schema":{"type":"string","enum":["en","da"],"default":"en"}}],"responses":{"200":{"description":"Current pricing plans.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanList"}}}},"400":{"description":"The request parameters are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait for the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations":{"get":{"operationId":"listIntegrations","tags":["Product"],"summary":"List payroll and point-of-sale integrations","description":"Returns integrations with their availability and requirements.","parameters":[{"name":"locale","in":"query","required":false,"description":"Language of the returned text.","schema":{"type":"string","enum":["en","da"],"default":"en"}},{"name":"category","in":"query","required":false,"description":"Return only integrations in this category.","schema":{"type":"string","enum":["payroll","pos"]}}],"responses":{"200":{"description":"Matching integrations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationList"}}}},"400":{"description":"The request parameters are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait for the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/guides":{"get":{"operationId":"searchGuides","tags":["Product"],"summary":"Search workforce-planning guides","description":"Returns published guides whose title, description or category contain every search term. Without a query, returns guides in editorial order.","parameters":[{"name":"locale","in":"query","required":false,"description":"Language of the returned text.","schema":{"type":"string","enum":["en","da"],"default":"en"}},{"name":"query","in":"query","required":false,"description":"Search terms separated by spaces.","schema":{"type":"string","maxLength":200}},{"name":"limit","in":"query","required":false,"description":"Maximum number of guides to return.","schema":{"type":"integer","minimum":1,"maximum":50,"default":10}}],"responses":{"200":{"description":"Matching guides.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuideList"}}}},"400":{"description":"The request parameters are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait for the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"Plan":{"type":"object","required":["id","name","flexiblePrice","committedPrice","positioning","features"],"properties":{"id":{"type":"string","enum":["starter","plus","pro"]},"name":{"type":"string"},"flexiblePrice":{"type":"number","description":"Price without a commitment."},"committedPrice":{"type":"number","description":"Price with a commitment."},"positioning":{"type":"string"},"features":{"type":"array","items":{"type":"string"}}}},"Feature":{"type":"object","required":["name","plans"],"properties":{"name":{"type":"string"},"plans":{"type":"array","items":{"type":"string","enum":["starter","plus","pro"]}}}},"FeatureGroup":{"type":"object","required":["name","features"],"properties":{"name":{"type":"string"},"features":{"type":"array","items":{"$ref":"#/components/schemas/Feature"}}}},"PlanList":{"type":"object","required":["currency","pricesExcludeVat","billingInterval","unit","plans"],"properties":{"currency":{"type":"string"},"pricesExcludeVat":{"type":"boolean"},"billingInterval":{"type":"string"},"unit":{"type":"string"},"minimumBillableEmployees":{"type":"integer"},"commitmentMonths":{"type":"integer"},"trialDays":{"type":"integer"},"pricingUrl":{"type":"string","format":"uri"},"plans":{"type":"array","items":{"$ref":"#/components/schemas/Plan"}},"featureGroups":{"type":"array","description":"Every feature, with the plans that include it.","items":{"$ref":"#/components/schemas/FeatureGroup"}}}},"Integration":{"type":"object","required":["provider","name","category","status","statusLabel","description","requirements"],"properties":{"provider":{"type":"string"},"name":{"type":"string"},"category":{"type":"string","enum":["payroll","pos"]},"status":{"type":"string","enum":["available","validation","preview"],"description":"available can be set up now; validation is being validated; preview is not open."},"statusLabel":{"type":"string"},"description":{"type":"string"},"requirements":{"type":"string"}}},"IntegrationList":{"type":"object","required":["integrations"],"properties":{"integrations":{"type":"array","items":{"$ref":"#/components/schemas/Integration"}}}},"Guide":{"type":"object","required":["title","description","category","url","publishedAt","readingMinutes"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"url":{"type":"string","format":"uri"},"publishedAt":{"type":"string","format":"date"},"readingMinutes":{"type":"integer"}}},"GuideList":{"type":"object","required":["guides"],"properties":{"guides":{"type":"array","items":{"$ref":"#/components/schemas/Guide"}}}}}}}