Misar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisar PlatformMisar IdentityMisar Posts API
Sdks

C# SDK

Install and use the MisarBlog C# SDK

Installation

dotnet add package Misar.Blog

Quick Start

using Misar.Blog;
using Misar.Blog.Models;

var client = new MisarBlogClient(Environment.GetEnvironmentVariable("MISARBLOG_API_KEY")!);

var posts = await client.Posts.ListAsync("johndoe");
foreach (var post in posts.Data)
{
    Console.WriteLine($"{post.Title} — {post.Slug}");
}

Generate an Embed URL

var url = client.Embed.Url("johndoe", theme: "dark");
Console.WriteLine(url);

// Single post
var postUrl = client.Embed.Url("johndoe", slug: "my-first-post", theme: "light");

Available Methods

MethodDescription
client.Posts.ListAsync(username, params, ct)List posts for a user
client.Posts.GetAsync(username, slug, ct)Get a single post by slug
client.Embed.Url(username, slug, theme)Generate an embed URL
client.Auth.RefreshTokenAsync(token, ct)Refresh a session token
client.Webhooks.ListAsync(ct)List webhook endpoints
client.Webhooks.CreateAsync(request, ct)Register a webhook
client.Webhooks.DeleteAsync(id, ct)Delete a webhook

Error Handling

using Misar.Blog.Exceptions;

try
{
    var posts = await client.Posts.ListAsync("johndoe");
}
catch (MisarBlogApiException ex)
{
    Console.WriteLine($"API error {ex.StatusCode}: {ex.Message}");
}
catch (MisarBlogNetworkException ex)
{
    Console.WriteLine($"Network error: {ex.Message}");
}