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
| Method | Description |
|--------|-------------|
| 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}");
}