Posty5.SocialPublisherWorkspace 2.0.0

dotnet add package Posty5.SocialPublisherWorkspace --version 2.0.0
                    
NuGet\Install-Package Posty5.SocialPublisherWorkspace -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Posty5.SocialPublisherWorkspace" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Posty5.SocialPublisherWorkspace" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Posty5.SocialPublisherWorkspace" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Posty5.SocialPublisherWorkspace --version 2.0.0
                    
#r "nuget: Posty5.SocialPublisherWorkspace, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Posty5.SocialPublisherWorkspace@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Posty5.SocialPublisherWorkspace&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Posty5.SocialPublisherWorkspace&version=2.0.0
                    
Install as a Cake Tool

Posty5.SocialPublisherWorkspace

Official Posty5 SDK for managing social media publishing workspaces. Create, manage, and organize workspaces to group your social media accounts and streamline multi-platform content distribution in .NET.


🌟 What is Posty5?

Posty5 is a comprehensive suite of free online tools designed to enhance your digital marketing and social media presence. With over 4+ powerful tools and counting, Posty5 provides everything you need to:

  • πŸ”— Shorten URLs - Create memorable, trackable short links
  • πŸ“± Generate QR Codes - Transform URLs, WiFi credentials, contact cards, and more into scannable codes
  • 🌐 Host HTML Pages - Deploy static HTML pages with dynamic variables and form submission handling
  • πŸ“’ Automate Social Media - Schedule and manage social media posts across multiple platforms
  • πŸ“Š Track Performance - Monitor and analyze your digital marketing efforts

Posty5 empowers businesses, marketers, and developers to streamline their online workflowsβ€”all from a unified control panel.

Learn more: https://posty5.com


πŸ“¦ About This Package

Posty5.SocialPublisherWorkspace is the workspace management client for the Posty5 Social Media Publisher. This package enables you to programmatically create and manage workspaces (organizations) that group your social media accounts for streamlined content distribution.

Key Capabilities

  • Create Workspaces - Programmatically create new workspaces with custom names, descriptions, and logos
  • List & Search - Retrieve all workspaces with pagination, filtering, and search capabilities
  • Update Workspaces - Modify workspace details including name, description, and logo image
  • Delete Workspaces - Remove workspaces when no longer needed
  • Tag & Reference System - Organize workspaces using custom tags and reference IDs
  • πŸ” API Key Filtering - Scope resources by API key for multi-tenant applications
  • Account Management - View connected social media accounts (YouTube, Facebook, Instagram, TikTok)
  • Logo Upload - Upload custom workspace logos with automatic image optimization

πŸ“₯ Installation

Install via NuGet Package Manager:

dotnet add package Posty5.SocialPublisherWorkspace

Or via Package Manager Console:

Install-Package Posty5.SocialPublisherWorkspace

πŸš€ Quick Start

Here's a minimal example to get you started:

using Posty5.Core.Configuration;
using Posty5.Core.Http;
using Posty5.SocialPublisherWorkspace;
using Posty5.SocialPublisherWorkspace.Models;

// Initialize the HTTP client with your API key
var options = new Posty5Options
{
    ApiKey = "your-api-key" // Get from studio.posty5.com/account/settings?tab=APIKeys
};
var httpClient = new Posty5HttpClient(options);

// Create workspace client
var client = new SocialPublisherWorkspaceClient(httpClient);

// Create a new workspace
var workspaceId = await client.CreateAsync(new CreateWorkspaceRequest
{
    Name = "My Brand Workspace",
    Description = "Workspace for managing social media accounts",
    Tag = "brand-2024",
    RefId = "WORKSPACE-001"
});

Console.WriteLine($"Created workspace: {workspaceId}");

// Get workspace details
var workspace = await client.GetAsync(workspaceId);
Console.WriteLine($"Workspace: {workspace.Name}");

if (workspace.Account.YouTube != null)
    Console.WriteLine($"Connected YouTube: {workspace.Account.YouTube.Name}");

// List all workspaces
var workspaces = await client.ListAsync(
    null,
    new PaginationParams { PageNumber = 1, PageSize = 10 }
);

Console.WriteLine($"Found {workspaces.Pagination.TotalCount} workspaces");

πŸ“š API Reference & Examples

CreateAsync

Create a new social media workspace with optional logo image upload.

Parameters:

  • data (CreateWorkspaceRequest): Workspace configuration
    • Name (string): Workspace name
    • Description (string): Workspace description
    • Tag (string?): Custom tag for filtering
    • RefId (string?): Your internal reference ID
  • logoStream (Stream?, optional): Logo image stream
  • contentType (string, optional): Image content type (default: "image/png")

Returns: Task<string> - Created workspace ID

Example:

// Create workspace without logo
var workspaceId = await client.CreateAsync(new CreateWorkspaceRequest
{
    Name = "Client A - Social Media",
    Description = "Managing social accounts for Client A",
    Tag = "client-a"
});

Console.WriteLine($"Workspace created: {workspaceId}");

// Create workspace with logo upload
using var logoStream = File.OpenRead("logo.png");
var workspaceWithLogo = await client.CreateAsync(
    new CreateWorkspaceRequest
    {
        Name = "Brand Workspace",
        Description = "Workspace with custom branding"
    },
    logoStream,
    "image/png"
);

GetAsync

Retrieve detailed information about a specific workspace by ID.

Parameters:

  • id (string): Workspace ID

Returns: Task<WorkspaceModel> - Workspace details including connected accounts

Example:

var workspace = await client.GetAsync("workspace-id-here");

Console.WriteLine($"Workspace: {workspace.Name}");

// Check connected accounts
if (workspace.Account.YouTube != null)
{
    Console.WriteLine($"YouTube channel: {workspace.Account.YouTube.Name}");
    Console.WriteLine($"Status: {workspace.Account.YouTube.Status}");
}

if (workspace.Account.TikTok != null)
{
    Console.WriteLine($"TikTok account: {workspace.Account.TikTok.Name}");
}

ListAsync

Search and retrieve workspaces with pagination and filtering options.

Parameters:

  • listParams (ListWorkspacesParams?, optional): Search and filter options
    • Name (string?), Description (string?), Tag (string?), RefId (string?)
  • pagination (PaginationParams?, optional)

Returns: Task<PaginationResponse<WorkspaceSampleDetails>>

Example:

// Get all workspaces
var allWorkspaces = await client.ListAsync(
    null,
    new PaginationParams { PageNumber = 1, PageSize = 20 }
);

foreach (var ws in allWorkspaces.Data)
{
    Console.WriteLine($"- {ws.Name}: {ws.Description}");
}

// Search by name
var searchResults = await client.ListAsync(new ListWorkspacesParams
{
    Name = "brand"
});

UpdateAsync

Update workspace details including name, description, and optional logo image.

Parameters:

  • id (string): Workspace ID to update
  • data (UpdateWorkspaceRequest): Updated workspace data
    • Name, Description, Tag, RefId
  • logoStream (Stream?, optional): New logo image stream
  • contentType (string, optional)

Returns: Task

Example:

// Update details
await client.UpdateAsync("workspace-id", new UpdateWorkspaceRequest
{
    Name = "Updated Workspace Name",
    Description = "New description"
});

// Update with new logo
using var newLogoStream = File.OpenRead("new-logo.png");
await client.UpdateAsync(
    "workspace-id",
    new UpdateWorkspaceRequest { Name = "Workspace", Description = "Desc" },
    newLogoStream
);

DeleteAsync

Delete a workspace.

Parameters:

  • id (string): Workspace ID to delete

Returns: Task

Example:

await client.DeleteAsync("workspace-id-to-delete");
Console.WriteLine("Workspace deleted successfully");

πŸ”’ Error Handling

Methods throw exceptions from Posty5.Core.Exceptions.

try
{
    await client.GetAsync("invalid-id");
}
catch (Posty5NotFoundException)
{
    Console.WriteLine("Workspace not found");
}

πŸ“– Resources


πŸ“¦ Packages

This SDK ecosystem contains the following tool packages:

Package Description Version NuGet
Posty5.Core Core HTTP client and models 1.0.0 πŸ“¦ NuGet
Posty5.ShortLink URL shortener client 1.0.0 πŸ“¦ NuGet
Posty5.QRCode QR code generator client 1.0.0 πŸ“¦ NuGet
Posty5.HtmlHosting HTML hosting client 1.0.0 πŸ“¦ NuGet
Posty5.HtmlHostingVariables Variable management 1.0.0 πŸ“¦ NuGet
Posty5.HtmlHostingFormSubmission Form submission management 1.0.0 πŸ“¦ NuGet
Posty5.SocialPublisherWorkspace Social workspace management 1.0.0 πŸ“¦ NuGet
Posty5.SocialPublisherTask Social publishing task client 1.0.0 πŸ“¦ NuGet

πŸ“„ License

MIT License - see LICENSE file for details.


Made with ❀️ by the Posty5 team

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 92 2/1/2026