{"id":780,"date":"2026-01-30T10:00:00","date_gmt":"2026-01-30T10:00:00","guid":{"rendered":"https:\/\/codepaper.com\/blog\/?p=780"},"modified":"2026-02-02T13:49:51","modified_gmt":"2026-02-02T13:49:51","slug":"how-to-build-saas-application-laravel","status":"publish","type":"post","link":"https:\/\/codepaper.com\/blog\/how-to-build-saas-application-laravel\/","title":{"rendered":"Build Your Own SaaS: A Laravel Developer\u2019s Guide"},"content":{"rendered":"<h1>How to Build SaaS Application Laravel: A Developer\u2019s Guide<\/h1>\n<p>If you\u2019re searching for how to build saas application laravel and want a plan that\u2019s fast, secure, and scalable, you\u2019re in the right place. At Codepaper Technologies Inc. (Unit 20 &#8211; 120 Woodstream Blvd, ON, Canada), our team builds production-grade SaaS platforms for startups and enterprises across Canada. This article gives you a clear, step-by-step playbook\u2014based on real projects\u2014so you can go from idea to launch with confidence.<\/p>\n<h2>Summary<\/h2>\n<ul>\n<li>What you\u2019ll learn:\n<ul>\n<li>Architecture choices (single vs multi-tenant) and when to use each<\/li>\n<li>Core building blocks: auth, billing, tenancy, roles, APIs, and observability<\/li>\n<li>Deployment, release strategies, and zero-downtime practices<\/li>\n<\/ul>\n<\/li>\n<li>Who this helps:\n<ul>\n<li>Founders, CTOs, and product managers planning a Laravel SaaS<\/li>\n<li>Developers modernizing legacy systems or migrating to Laravel<\/li>\n<\/ul>\n<\/li>\n<li>Why trust this guide:\n<ul>\n<li>Codepaper has delivered 200+ successful engagements across industries<\/li>\n<li>Our team ships Laravel, mobile, and DevOps solutions for Canadian and North American clients<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div style=\"background-color:#f8f9fa;border-left:4px solid #007bff;padding:20px;margin:20px 0;border-radius:5px\">\n<h3 style=\"margin-top:0;color:#007bff\">Quick Answer<\/h3>\n<p><strong>To build a Laravel SaaS fast, choose multi-tenancy, use Laravel Breeze\/Fortify for auth, Cashier for subscriptions, and automate CI\/CD. If you\u2019re near ON at Unit 20 &#8211; 120 Woodstream Blvd, Codepaper can architect and ship your MVP or enterprise rollout. This guide covers how to build saas application laravel in a practical, repeatable way.<\/strong><\/p>\n<\/div>\n<div style=\"background-color:#fff3cd;border-left:4px solid #ffc107;padding:20px;margin:20px 0;border-radius:5px\">\n<h3 style=\"margin-top:0;color:#856404\">Local Tips<\/h3>\n<ul style=\"margin-bottom:0\">\n<li><strong>Tip 1:<\/strong> Align sprint demos around local working hours near Woodstream Blvd to keep stakeholders engaged and decisions quick.<\/li>\n<li><strong>Tip 2:<\/strong> Winter weather can disrupt travel. Keep standups hybrid-ready and plan remote cutovers with rollback scripts pre-tested.<\/li>\n<li><strong>Tip 3:<\/strong> For Canadian finance\/healthcare tenants, plan data residency and audit logs from Sprint 1\u2014saves painful refactors later.<\/li>\n<\/ul>\n<p><strong>IMPORTANT:<\/strong> These practices reflect how we run discovery, builds, and releases with teams around ON and across Canada.<\/p>\n<\/div>\n<h2>Before You Start (Prerequisites)<\/h2>\n<p>A few hours of preparation can save weeks of rework. Clarify your goals, choose the right tenancy model, and set your delivery rails.<\/p>\n<ul>\n<li><strong>Define problem and audience<\/strong>\n<ul>\n<li>Who is the tenant? Company, franchise, or department?<\/li>\n<li>What outcomes must v1 prove (measurable and time-bound)?<\/li>\n<li>Which integrations are must-have vs nice-to-have?<\/li>\n<\/ul>\n<\/li>\n<li><strong>Decide tenancy model<\/strong>\n<ul>\n<li><em>Single-tenant:<\/em> database per customer; strongest isolation; more ops overhead<\/li>\n<li><em>Multi-tenant:<\/em> shared app + tenant scoping; fast to ship; efficient to operate<\/li>\n<li>Hybrid paths exist\u2014start shared, move key accounts to isolated databases later<\/li>\n<\/ul>\n<\/li>\n<li><strong>Choose baseline stack<\/strong>\n<ul>\n<li>Laravel LTS, PHP 8.2+, MySQL or PostgreSQL, Redis for cache\/queues<\/li>\n<li>Object storage (S3-compatible), job queues, scheduler, and mail<\/li>\n<li>Testing (Pest\/PHPUnit), static analysis (Larastan), code style (Pint)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Security posture<\/strong>\n<ul>\n<li>2FA, RBAC, audit logs, secrets management, SSO readiness<\/li>\n<li>Secure headers, rate limiting, IP allowlists for admin endpoints<\/li>\n<\/ul>\n<\/li>\n<li><strong>Delivery approach<\/strong>\n<ul>\n<li>Trunk-based development, PR reviews, automated tests, feature flags<\/li>\n<li>CI\/CD from day one; no manual deployments to production<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>How to Build SaaS Application Laravel: Step-by-Step Process<\/h2>\n<p>Here\u2019s the exact sequence we use on real projects at Codepaper\u2014whether it\u2019s an MVP for a startup or an enterprise rollout.<\/p>\n<h3 id=\"step-1\">1) Initialize your Laravel SaaS workspace<\/h3>\n<ul>\n<li><strong>Bootstrap the project<\/strong>\n<ul>\n<li>Create the repo; set up <code>.editorconfig<\/code>, linting, and Git hooks<\/li>\n<li>Configure <code>.env<\/code> per environment; wire DB, cache, queue, mail<\/li>\n<li>Establish <code>app\/Domain<\/code> for bounded contexts (e.g., Billing, Tenancy)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Core packages<\/strong>\n<ul>\n<li>Auth: Breeze\/Fortify; API tokens: Sanctum<\/li>\n<li>Queues: Redis + Horizon; Mail: first-party drivers<\/li>\n<li>Validation and form requests; resource transformers<\/li>\n<\/ul>\n<\/li>\n<li><strong>Documentation and standards<\/strong>\n<ul>\n<li>Decision records in <code>docs\/<\/code><\/li>\n<li>Larastan and Pint in CI for consistent code quality<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"step-2\">2) Design tenancy and data boundaries<\/h3>\n<ul>\n<li><strong>Pick your model<\/strong>\n<ul>\n<li>Shared DB with <code>tenant_id<\/code> scoping for speed and simplicity<\/li>\n<li>Schema-per-tenant or DB-per-tenant for strict isolation or premium accounts<\/li>\n<\/ul>\n<\/li>\n<li><strong>Routing and provisioning<\/strong>\n<ul>\n<li>Subdomain (acme.yourapp.com) or custom domain (acme.com)<\/li>\n<li>Automate tenant creation, seeding, SSL, DNS, and domain verification<\/li>\n<\/ul>\n<\/li>\n<li><strong>Cache and queues<\/strong>\n<ul>\n<li>Namespace per tenant to prevent cross-tenant leakage<\/li>\n<li>Tag logs and metrics with <code>tenant_id<\/code> for observability<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"step-3\">3) Authentication, roles, and onboarding<\/h3>\n<ul>\n<li><strong>Auth flows<\/strong>\n<ul>\n<li>Email+password, OAuth SSO, or SAML depending on audience<\/li>\n<li>2FA, password policies, device\/session management<\/li>\n<\/ul>\n<\/li>\n<li><strong>Role-based access control (RBAC)<\/strong>\n<ul>\n<li>Policies + gates; Admin, Manager, Member per tenant<\/li>\n<li>Invite flows and user provisioning scoped to tenants<\/li>\n<\/ul>\n<\/li>\n<li><strong>First-run experience<\/strong>\n<ul>\n<li>Guided setup wizard; sample data; contextual tips per screen<\/li>\n<li>Progressive profiling to capture key org details without friction<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"step-4\">4) Subscriptions and billing<\/h3>\n<ul>\n<li><strong>Cashier integration<\/strong>\n<ul>\n<li>Plans, trials, metered usage, prorations, and invoices<\/li>\n<li>Handle webhooks (invoice paid, past_due, subscription canceled)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Entitlements<\/strong>\n<ul>\n<li>Feature flags per plan; rate limits and quotas by tier<\/li>\n<li>Grace periods and downgrade safeguards to prevent data loss<\/li>\n<\/ul>\n<\/li>\n<li><strong>Compliance considerations<\/strong>\n<ul>\n<li>Tax rules differ by region; ensure correct tax IDs and receipts<\/li>\n<li>Keep personal and payment data minimal and well-protected<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"step-5\">5) Build core domain features<\/h3>\n<ul>\n<li><strong>Start narrow, win fast<\/strong>\n<ul>\n<li>Ship one workflow that proves undeniable value in days<\/li>\n<li>Instrument it for usage, latency, and conversion<\/li>\n<\/ul>\n<\/li>\n<li><strong>Event-driven patterns<\/strong>\n<ul>\n<li>Dispatch domain events; queued listeners handle heavy work<\/li>\n<li>Keep controllers skinny; push logic into services and actions<\/li>\n<\/ul>\n<\/li>\n<li><strong>Storage and search<\/strong>\n<ul>\n<li>Use object storage for media; scoped search indices per tenant<\/li>\n<li>Background jobs generate thumbnails, exports, and reports<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"step-6\">6) APIs, webhooks, and integrations<\/h3>\n<ul>\n<li><strong>REST + tokens<\/strong>\n<ul>\n<li>Sanctum for first-party SPAs and token-based access<\/li>\n<li>Rate limits aligned with subscription plans<\/li>\n<\/ul>\n<\/li>\n<li><strong>Webhooks<\/strong>\n<ul>\n<li>Use signed payloads, exponential backoff with jitter, dead-letter queues<\/li>\n<li>Provide a replay endpoint and clear delivery statuses<\/li>\n<\/ul>\n<\/li>\n<li><strong>3rd-party connectors<\/strong>\n<ul>\n<li>Isolate integration code; circuit-breaker and retry patterns<\/li>\n<li>Store minimal tokens; rotate secrets regularly<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Want a deeper primer on getting a minimum lovable version live? See our <a href=\"https:\/\/codepaper.com\/blog\/?p=774\">Laravel MVP guide<\/a> for a pragmatic launch plan that pairs well with this article.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/dmboo1nu1\/image\/upload\/v1769731362\/ai-images\/b3bbhtnsynvjgxkc4lu4.png\" alt=\"Laravel SaaS code editor showing migrations and php artisan migrate command with clear syntax highlighting\" style=\"max-width:100%;height:auto\" \/><\/p>\n<h3 id=\"step-7\">7) Security-by-default<\/h3>\n<ul>\n<li><strong>App-level protections<\/strong>\n<ul>\n<li>CSRF, XSS, and SQL injection defenses; validate and sanitize inputs<\/li>\n<li>Encrypt sensitive fields; rotate keys; secure cookie settings<\/li>\n<\/ul>\n<\/li>\n<li><strong>Tenant isolation<\/strong>\n<ul>\n<li>Middleware enforces tenant context; deny on mismatch<\/li>\n<li>Separate caches\/queues per tenant; verify in tests<\/li>\n<\/ul>\n<\/li>\n<li><strong>Operational security<\/strong>\n<ul>\n<li>Least privilege IAM; MFA on consoles; tamper-evident audit logs<\/li>\n<li>Automated dependency and container scanning in CI<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"step-8\">8) Observability: logs, metrics, and tracing<\/h3>\n<ul>\n<li><strong>Structured logging<\/strong>\n<ul>\n<li>Include <code>tenant_id<\/code>, <code>request_id<\/code>, and <code>user_id<\/code> in each log<\/li>\n<li>Standardize log levels; alert on error spikes<\/li>\n<\/ul>\n<\/li>\n<li><strong>Metrics that matter<\/strong>\n<ul>\n<li>Signups, activation, churn signals, job failures, latency per tenant<\/li>\n<li>Release health: error rate, p95 latency, and rollback frequency<\/li>\n<\/ul>\n<\/li>\n<li><strong>Distributed tracing<\/strong>\n<ul>\n<li>Trace across web, workers, and external APIs for root-cause speed<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"step-9\">9) CI\/CD and environments<\/h3>\n<ul>\n<li><strong>Pipelines<\/strong>\n<ul>\n<li>Run unit\/integration tests, linters, security scans, and DB migrations<\/li>\n<li>Blue\/green or canary releases with automated rollback hooks<\/li>\n<\/ul>\n<\/li>\n<li><strong>Environment strategy<\/strong>\n<ul>\n<li>Dev \u2192 Staging \u2192 Production with anonymized fixtures<\/li>\n<li>Preview environments per feature branch for rapid product feedback<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>To harden your release process beyond \u201cit works on my machine,\u201d review our field notes on <a href=\"https:\/\/codepaper.com\/7-key-devops-principles-for-seamless-enterprise-transformation\/\">DevOps principles<\/a> that keep enterprise changes safe and steady.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/dmboo1nu1\/image\/upload\/v1769731363\/ai-images\/vkoxwtemeiyifh71bqct.png\" alt=\"DevOps engineer deploying a Laravel SaaS to cloud infrastructure with a compact server rack and laptop\" style=\"max-width:100%;height:auto\" \/><\/p>\n<h3 id=\"step-10\">10) Deploy, launch, and iterate<\/h3>\n<ul>\n<li><strong>Production hardening<\/strong>\n<ul>\n<li>WAF, secure headers, rate limits, and backup verification<\/li>\n<li>Queue concurrency tuned by workload and plan tiers<\/li>\n<\/ul>\n<\/li>\n<li><strong>Launch checklist<\/strong>\n<ul>\n<li>Domain setup, SSL, sender reputation (SPF\/DKIM\/DMARC), and status page<\/li>\n<li>Runbooks for incidents; define clear SLOs and on-call rotations<\/li>\n<\/ul>\n<\/li>\n<li><strong>Continuous improvement<\/strong>\n<ul>\n<li>Instrument everything; prioritize changes by actual usage<\/li>\n<li>Close the feedback loop with in-app surveys and NPS<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Comparison: Tenancy Models and When to Use Them<\/h2>\n<table border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr>\n<th>Model<\/th>\n<th>Pros<\/th>\n<th>Cons<\/th>\n<th>Use When<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Shared DB (row-level)<\/td>\n<td>Fastest to ship; efficient to run; simpler migrations<\/td>\n<td>Requires careful scoping; potential noisy neighbor risk<\/td>\n<td>Early-stage SaaS with many small tenants<\/td>\n<\/tr>\n<tr>\n<td>Schema-per-tenant<\/td>\n<td>Good isolation; per-tenant migrations possible<\/td>\n<td>Operational overhead; more complex tooling<\/td>\n<td>Mid-market tenants with customization needs<\/td>\n<\/tr>\n<tr>\n<td>DB-per-tenant<\/td>\n<td>Strong isolation and performance guarantees<\/td>\n<td>Most complex to manage at scale<\/td>\n<td>Enterprise or regulated customers<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Troubleshooting (Real-World Fixes)<\/h2>\n<ul>\n<li><strong>Cross-tenant data exposure<\/strong>\n<ul>\n<li>Audit every query for tenant scope; enforce in base repositories<\/li>\n<li>Namespace caches\/queues; invalidate on tenant switch<\/li>\n<\/ul>\n<\/li>\n<li><strong>Webhook retries flooding your system<\/strong>\n<ul>\n<li>Use idempotency keys; exponential backoff with jitter; dead-letter queues<\/li>\n<li>Replay endpoint with clear statuses<\/li>\n<\/ul>\n<\/li>\n<li><strong>Migrations failing per tenant<\/strong>\n<ul>\n<li>Version and order migrations; add health checks and auto-heal scripts<\/li>\n<li>Test upgrade\/downgrade paths in staging with realistic data<\/li>\n<\/ul>\n<\/li>\n<li><strong>Slow background jobs<\/strong>\n<ul>\n<li>Shard queues by job type; scale workers vertically\/horizontally<\/li>\n<li>Profile jobs and optimize N+1 queries<\/li>\n<\/ul>\n<\/li>\n<li><strong>Email deliverability pain<\/strong>\n<ul>\n<li>Warm IPs; configure SPF\/DKIM\/DMARC; monitor bounces\/complaints<\/li>\n<li>Use a dedicated subdomain for transactional mail<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Advanced Tips (Optional)<\/h2>\n<ul>\n<li><strong>Feature flags<\/strong>\n<ul>\n<li>Roll out features by tenant, role, or cohort; kill switches for safety<\/li>\n<\/ul>\n<\/li>\n<li><strong>AI automation add-ons<\/strong>\n<ul>\n<li>Automate back-office steps (extractions, summarization) with review queues<\/li>\n<li>Use guardrails and audits; log prompts\/responses where appropriate<\/li>\n<\/ul>\n<\/li>\n<li><strong>Data analytics<\/strong>\n<ul>\n<li>Embedded dashboards per tenant; anonymize PII as needed<\/li>\n<li>Track activation and retention cohorts to guide roadmap<\/li>\n<\/ul>\n<\/li>\n<li><strong>Zero-downtime releases<\/strong>\n<ul>\n<li>Blue\/green or canary; migrations backward-compatible for one release<\/li>\n<li>Feature toggles to decouple deploy from release<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div style=\"border:1px solid #e1e5ea;padding:16px;border-radius:8px;background:#f9fbfd;margin:24px 0\">\n<p><strong>Need a hand?<\/strong> Codepaper\u2019s team ships Laravel SaaS products, mobile apps, and robust DevOps pipelines for startups and enterprises across Canada. From <a href=\"https:\/\/codepaper.com\/services\/startup-software-development\/\">MVP development for startups<\/a> to <a href=\"https:\/\/codepaper.com\/services\/laravel-development-company\/\">Laravel development services<\/a>, we can plug into your roadmap fast.<\/p>\n<\/div>\n<p>Planning your release? Cross-check your final tasks with our practical <a href=\"https:\/\/codepaper.com\/website-launch-checklist\/\">website launch checklist<\/a> so nothing slips through before go-live. And if you\u2019re still deciding between building bespoke or buying off-the-shelf, our breakdown of trade-offs can help: see this short take on <a href=\"https:\/\/codepaper.com\/blog\/?p=763\">custom web app development vs off-the-shelf<\/a>.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li><strong>Is Laravel a good choice for SaaS?<\/strong><br \/>Yes. Laravel\u2019s first-party packages, queues, caching, and ecosystem make it ideal for multi-tenant apps, subscriptions, and APIs. It\u2019s productive for small teams and robust enough for enterprises.<\/li>\n<li><strong>Should I start with single-tenant or multi-tenant?<\/strong><br \/>Most teams start multi-tenant for speed and operating efficiency. Move premium or regulated tenants to DB-per-tenant when isolation or custom SLAs require it.<\/li>\n<li><strong>How do I secure tenant data?<\/strong><br \/>Enforce tenant context in middleware, scope all queries, separate caches\/queues, and add audit logs. Encrypt sensitive fields and rotate secrets regularly.<\/li>\n<li><strong>What about billing and taxes?<\/strong><br \/>Use Cashier for subscriptions and webhooks. Align plan entitlements with feature flags. Follow a tax advisor\u2019s guidance for region-specific rules and record-keeping.<\/li>\n<li><strong>When should I add mobile apps?<\/strong><br \/>Add mobile when users need on-the-go workflows. A shared API with role-aware endpoints keeps iOS\/Android aligned with your web app.<\/li>\n<\/ul>\n<h2>Key Takeaways<\/h2>\n<ul>\n<li>Decide tenancy early and enforce isolation consistently<\/li>\n<li>Lean on Laravel\u2019s ecosystem for auth, billing, queues, and testing<\/li>\n<li>Invest in CI\/CD, observability, and security from day one<\/li>\n<li>Ship a narrow workflow first; expand based on real usage data<\/li>\n<li>For help, partner with a team that builds SaaS end-to-end\u2014strategy to support<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<ul>\n<li>Building a Laravel SaaS is straightforward when you follow a disciplined playbook<\/li>\n<li>Start with multi-tenancy, robust auth, and Cashier; automate delivery and testing<\/li>\n<li>If you need an expert partner in Canada, Codepaper can help you move fast without breaking things<\/li>\n<\/ul>\n<h2>Additional Resources<\/h2>\n<p>To go deeper, check our notes on hiring developers (team scalability matters): <a href=\"https:\/\/codepaper.com\/5-tips-to-consider-while-hiring-php-laravel-developers-in-2023\/\">tips for hiring Laravel developers<\/a>. Pair that with our <a href=\"https:\/\/codepaper.com\/7-key-devops-principles-for-seamless-enterprise-transformation\/\">DevOps principles<\/a> and <a href=\"https:\/\/codepaper.com\/blog\/?p=774\">Laravel MVP guide<\/a> for a full-stack view from strategy to deployment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Step-by-step guide on how to build saas application laravel, from tenancy and auth to billing, CI\/CD, and launch\u2014tailored by Codepaper\u2019s Canadian team.<\/p>\n","protected":false},"author":1,"featured_media":781,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/posts\/780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/comments?post=780"}],"version-history":[{"count":1,"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/posts\/780\/revisions"}],"predecessor-version":[{"id":798,"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/posts\/780\/revisions\/798"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/media\/781"}],"wp:attachment":[{"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/media?parent=780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/categories?post=780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codepaper.com\/blog\/wp-json\/wp\/v2\/tags?post=780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}