Skip to content

BlueSky C# Client generated from OpenAPI specs

Notifications You must be signed in to change notification settings

vhogemann/bskyapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BSky - the C# library for the AT Protocol XRPC API

This section contains HTTP API reference docs for Bluesky and AT Protocol lexicons. Generate a bearer token to test API calls directly from the docs.

This C# SDK is automatically generated by the OpenAPI Generator project:

  • API version: 0.0.0
  • SDK version: 1.0.0
  • Generator version: 7.8.0
  • Build package: org.openapitools.codegen.languages.CSharpClientCodegen

Frameworks supported

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using BSky.Api;
using BSky.Client;
using BSky.Model;

Packaging

A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out BSky.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Usage

To use the API client with a HTTP proxy, setup a System.Net.WebProxy

Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using BSky.Api;
using BSky.Client;
using BSky.Model;

namespace Example
{
    public class Example
    {
        public static void Main()
        {

            Configuration config = new Configuration();
            config.BasePath = "https://public.api.bsky.app/xrpc";
            // Configure Bearer token for authorization: Bearer
            config.AccessToken = "YOUR_BEARER_TOKEN";

            var apiInstance = new AppBskyActorApi(config);

            try
            {
                AppBskyActorGetPreferences200Response result = apiInstance.AppBskyActorGetPreferences();
                Debug.WriteLine(result);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling AppBskyActorApi.AppBskyActorGetPreferences: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://public.api.bsky.app/xrpc

Class Method HTTP request Description
AppBskyActorApi AppBskyActorGetPreferences GET /app.bsky.actor.getPreferences
AppBskyActorApi AppBskyActorGetProfile GET /app.bsky.actor.getProfile
AppBskyActorApi AppBskyActorGetProfiles GET /app.bsky.actor.getProfiles
AppBskyActorApi AppBskyActorGetSuggestions GET /app.bsky.actor.getSuggestions
AppBskyActorApi AppBskyActorPutPreferences POST /app.bsky.actor.putPreferences
AppBskyActorApi AppBskyActorSearchActors GET /app.bsky.actor.searchActors
AppBskyActorApi AppBskyActorSearchActorsTypeahead GET /app.bsky.actor.searchActorsTypeahead
AppBskyFeedApi AppBskyFeedDescribeFeedGenerator GET /app.bsky.feed.describeFeedGenerator
AppBskyFeedApi AppBskyFeedGetActorFeeds GET /app.bsky.feed.getActorFeeds
AppBskyFeedApi AppBskyFeedGetActorLikes GET /app.bsky.feed.getActorLikes
AppBskyFeedApi AppBskyFeedGetAuthorFeed GET /app.bsky.feed.getAuthorFeed
AppBskyFeedApi AppBskyFeedGetFeed GET /app.bsky.feed.getFeed
AppBskyFeedApi AppBskyFeedGetFeedGenerator GET /app.bsky.feed.getFeedGenerator
AppBskyFeedApi AppBskyFeedGetFeedGenerators GET /app.bsky.feed.getFeedGenerators
AppBskyFeedApi AppBskyFeedGetFeedSkeleton GET /app.bsky.feed.getFeedSkeleton
AppBskyFeedApi AppBskyFeedGetLikes GET /app.bsky.feed.getLikes
AppBskyFeedApi AppBskyFeedGetListFeed GET /app.bsky.feed.getListFeed
AppBskyFeedApi AppBskyFeedGetPostThread GET /app.bsky.feed.getPostThread
AppBskyFeedApi AppBskyFeedGetPosts GET /app.bsky.feed.getPosts
AppBskyFeedApi AppBskyFeedGetQuotes GET /app.bsky.feed.getQuotes
AppBskyFeedApi AppBskyFeedGetRepostedBy GET /app.bsky.feed.getRepostedBy
AppBskyFeedApi AppBskyFeedGetSuggestedFeeds GET /app.bsky.feed.getSuggestedFeeds
AppBskyFeedApi AppBskyFeedGetTimeline GET /app.bsky.feed.getTimeline
AppBskyFeedApi AppBskyFeedSearchPosts GET /app.bsky.feed.searchPosts
AppBskyFeedApi AppBskyFeedSendInteractions POST /app.bsky.feed.sendInteractions
AppBskyGraphApi AppBskyGraphGetActorStarterPacks GET /app.bsky.graph.getActorStarterPacks
AppBskyGraphApi AppBskyGraphGetBlocks GET /app.bsky.graph.getBlocks
AppBskyGraphApi AppBskyGraphGetFollowers GET /app.bsky.graph.getFollowers
AppBskyGraphApi AppBskyGraphGetFollows GET /app.bsky.graph.getFollows
AppBskyGraphApi AppBskyGraphGetKnownFollowers GET /app.bsky.graph.getKnownFollowers
AppBskyGraphApi AppBskyGraphGetList GET /app.bsky.graph.getList
AppBskyGraphApi AppBskyGraphGetListBlocks GET /app.bsky.graph.getListBlocks
AppBskyGraphApi AppBskyGraphGetListMutes GET /app.bsky.graph.getListMutes
AppBskyGraphApi AppBskyGraphGetLists GET /app.bsky.graph.getLists
AppBskyGraphApi AppBskyGraphGetMutes GET /app.bsky.graph.getMutes
AppBskyGraphApi AppBskyGraphGetRelationships GET /app.bsky.graph.getRelationships
AppBskyGraphApi AppBskyGraphGetStarterPack GET /app.bsky.graph.getStarterPack
AppBskyGraphApi AppBskyGraphGetStarterPacks GET /app.bsky.graph.getStarterPacks
AppBskyGraphApi AppBskyGraphGetSuggestedFollowsByActor GET /app.bsky.graph.getSuggestedFollowsByActor
AppBskyGraphApi AppBskyGraphMuteActor POST /app.bsky.graph.muteActor
AppBskyGraphApi AppBskyGraphMuteActorList POST /app.bsky.graph.muteActorList
AppBskyGraphApi AppBskyGraphMuteThread POST /app.bsky.graph.muteThread
AppBskyGraphApi AppBskyGraphUnmuteActor POST /app.bsky.graph.unmuteActor
AppBskyGraphApi AppBskyGraphUnmuteActorList POST /app.bsky.graph.unmuteActorList
AppBskyGraphApi AppBskyGraphUnmuteThread POST /app.bsky.graph.unmuteThread
AppBskyLabelerApi AppBskyLabelerGetServices GET /app.bsky.labeler.getServices
AppBskyNotificationApi AppBskyNotificationGetUnreadCount GET /app.bsky.notification.getUnreadCount
AppBskyNotificationApi AppBskyNotificationListNotifications GET /app.bsky.notification.listNotifications
AppBskyNotificationApi AppBskyNotificationPutPreferences POST /app.bsky.notification.putPreferences
AppBskyNotificationApi AppBskyNotificationRegisterPush POST /app.bsky.notification.registerPush
AppBskyNotificationApi AppBskyNotificationUpdateSeen POST /app.bsky.notification.updateSeen
AppBskyVideoApi AppBskyVideoGetJobStatus GET /app.bsky.video.getJobStatus
AppBskyVideoApi AppBskyVideoGetUploadLimits GET /app.bsky.video.getUploadLimits
AppBskyVideoApi AppBskyVideoUploadVideo POST /app.bsky.video.uploadVideo
ChatBskyActorApi ChatBskyActorDeleteAccount POST /chat.bsky.actor.deleteAccount
ChatBskyActorApi ChatBskyActorExportAccountData GET /chat.bsky.actor.exportAccountData
ChatBskyConvoApi ChatBskyConvoDeleteMessageForSelf POST /chat.bsky.convo.deleteMessageForSelf
ChatBskyConvoApi ChatBskyConvoGetConvo GET /chat.bsky.convo.getConvo
ChatBskyConvoApi ChatBskyConvoGetConvoForMembers GET /chat.bsky.convo.getConvoForMembers
ChatBskyConvoApi ChatBskyConvoGetLog GET /chat.bsky.convo.getLog
ChatBskyConvoApi ChatBskyConvoGetMessages GET /chat.bsky.convo.getMessages
ChatBskyConvoApi ChatBskyConvoLeaveConvo POST /chat.bsky.convo.leaveConvo
ChatBskyConvoApi ChatBskyConvoListConvos GET /chat.bsky.convo.listConvos
ChatBskyConvoApi ChatBskyConvoMuteConvo POST /chat.bsky.convo.muteConvo
ChatBskyConvoApi ChatBskyConvoSendMessage POST /chat.bsky.convo.sendMessage
ChatBskyConvoApi ChatBskyConvoSendMessageBatch POST /chat.bsky.convo.sendMessageBatch
ChatBskyConvoApi ChatBskyConvoUnmuteConvo POST /chat.bsky.convo.unmuteConvo
ChatBskyConvoApi ChatBskyConvoUpdateRead POST /chat.bsky.convo.updateRead
ChatBskyModerationApi ChatBskyModerationGetActorMetadata GET /chat.bsky.moderation.getActorMetadata
ChatBskyModerationApi ChatBskyModerationGetMessageContext GET /chat.bsky.moderation.getMessageContext
ChatBskyModerationApi ChatBskyModerationUpdateActorAccess POST /chat.bsky.moderation.updateActorAccess
ComAtprotoAdminApi ComAtprotoAdminDeleteAccount POST /com.atproto.admin.deleteAccount
ComAtprotoAdminApi ComAtprotoAdminDisableAccountInvites POST /com.atproto.admin.disableAccountInvites
ComAtprotoAdminApi ComAtprotoAdminDisableInviteCodes POST /com.atproto.admin.disableInviteCodes
ComAtprotoAdminApi ComAtprotoAdminEnableAccountInvites POST /com.atproto.admin.enableAccountInvites
ComAtprotoAdminApi ComAtprotoAdminGetAccountInfo GET /com.atproto.admin.getAccountInfo
ComAtprotoAdminApi ComAtprotoAdminGetAccountInfos GET /com.atproto.admin.getAccountInfos
ComAtprotoAdminApi ComAtprotoAdminGetInviteCodes GET /com.atproto.admin.getInviteCodes
ComAtprotoAdminApi ComAtprotoAdminGetSubjectStatus GET /com.atproto.admin.getSubjectStatus
ComAtprotoAdminApi ComAtprotoAdminSearchAccounts GET /com.atproto.admin.searchAccounts
ComAtprotoAdminApi ComAtprotoAdminSendEmail POST /com.atproto.admin.sendEmail
ComAtprotoAdminApi ComAtprotoAdminUpdateAccountEmail POST /com.atproto.admin.updateAccountEmail
ComAtprotoAdminApi ComAtprotoAdminUpdateAccountHandle POST /com.atproto.admin.updateAccountHandle
ComAtprotoAdminApi ComAtprotoAdminUpdateAccountPassword POST /com.atproto.admin.updateAccountPassword
ComAtprotoAdminApi ComAtprotoAdminUpdateSubjectStatus POST /com.atproto.admin.updateSubjectStatus
ComAtprotoIdentityApi ComAtprotoIdentityGetRecommendedDidCredentials GET /com.atproto.identity.getRecommendedDidCredentials
ComAtprotoIdentityApi ComAtprotoIdentityRequestPlcOperationSignature POST /com.atproto.identity.requestPlcOperationSignature
ComAtprotoIdentityApi ComAtprotoIdentityResolveHandle GET /com.atproto.identity.resolveHandle
ComAtprotoIdentityApi ComAtprotoIdentitySignPlcOperation POST /com.atproto.identity.signPlcOperation
ComAtprotoIdentityApi ComAtprotoIdentitySubmitPlcOperation POST /com.atproto.identity.submitPlcOperation
ComAtprotoIdentityApi ComAtprotoIdentityUpdateHandle POST /com.atproto.identity.updateHandle
ComAtprotoLabelApi ComAtprotoLabelQueryLabels GET /com.atproto.label.queryLabels
ComAtprotoModerationApi ComAtprotoModerationCreateReport POST /com.atproto.moderation.createReport
ComAtprotoRepoApi ComAtprotoRepoApplyWrites POST /com.atproto.repo.applyWrites
ComAtprotoRepoApi ComAtprotoRepoCreateRecord POST /com.atproto.repo.createRecord
ComAtprotoRepoApi ComAtprotoRepoDeleteRecord POST /com.atproto.repo.deleteRecord
ComAtprotoRepoApi ComAtprotoRepoDescribeRepo GET /com.atproto.repo.describeRepo
ComAtprotoRepoApi ComAtprotoRepoGetRecord GET /com.atproto.repo.getRecord
ComAtprotoRepoApi ComAtprotoRepoImportRepo POST /com.atproto.repo.importRepo
ComAtprotoRepoApi ComAtprotoRepoListMissingBlobs GET /com.atproto.repo.listMissingBlobs
ComAtprotoRepoApi ComAtprotoRepoListRecords GET /com.atproto.repo.listRecords
ComAtprotoRepoApi ComAtprotoRepoPutRecord POST /com.atproto.repo.putRecord
ComAtprotoRepoApi ComAtprotoRepoUploadBlob POST /com.atproto.repo.uploadBlob
ComAtprotoServerApi ComAtprotoServerActivateAccount POST /com.atproto.server.activateAccount
ComAtprotoServerApi ComAtprotoServerCheckAccountStatus GET /com.atproto.server.checkAccountStatus
ComAtprotoServerApi ComAtprotoServerConfirmEmail POST /com.atproto.server.confirmEmail
ComAtprotoServerApi ComAtprotoServerCreateAccount POST /com.atproto.server.createAccount
ComAtprotoServerApi ComAtprotoServerCreateAppPassword POST /com.atproto.server.createAppPassword
ComAtprotoServerApi ComAtprotoServerCreateInviteCode POST /com.atproto.server.createInviteCode
ComAtprotoServerApi ComAtprotoServerCreateInviteCodes POST /com.atproto.server.createInviteCodes
ComAtprotoServerApi ComAtprotoServerCreateSession POST /com.atproto.server.createSession
ComAtprotoServerApi ComAtprotoServerDeactivateAccount POST /com.atproto.server.deactivateAccount
ComAtprotoServerApi ComAtprotoServerDeleteAccount POST /com.atproto.server.deleteAccount
ComAtprotoServerApi ComAtprotoServerDeleteSession POST /com.atproto.server.deleteSession
ComAtprotoServerApi ComAtprotoServerDescribeServer GET /com.atproto.server.describeServer
ComAtprotoServerApi ComAtprotoServerGetAccountInviteCodes GET /com.atproto.server.getAccountInviteCodes
ComAtprotoServerApi ComAtprotoServerGetServiceAuth GET /com.atproto.server.getServiceAuth
ComAtprotoServerApi ComAtprotoServerGetSession GET /com.atproto.server.getSession
ComAtprotoServerApi ComAtprotoServerListAppPasswords GET /com.atproto.server.listAppPasswords
ComAtprotoServerApi ComAtprotoServerRefreshSession POST /com.atproto.server.refreshSession
ComAtprotoServerApi ComAtprotoServerRequestAccountDelete POST /com.atproto.server.requestAccountDelete
ComAtprotoServerApi ComAtprotoServerRequestEmailConfirmation POST /com.atproto.server.requestEmailConfirmation
ComAtprotoServerApi ComAtprotoServerRequestEmailUpdate POST /com.atproto.server.requestEmailUpdate
ComAtprotoServerApi ComAtprotoServerRequestPasswordReset POST /com.atproto.server.requestPasswordReset
ComAtprotoServerApi ComAtprotoServerReserveSigningKey POST /com.atproto.server.reserveSigningKey
ComAtprotoServerApi ComAtprotoServerResetPassword POST /com.atproto.server.resetPassword
ComAtprotoServerApi ComAtprotoServerRevokeAppPassword POST /com.atproto.server.revokeAppPassword
ComAtprotoServerApi ComAtprotoServerUpdateEmail POST /com.atproto.server.updateEmail
ComAtprotoSyncApi ComAtprotoSyncGetBlob GET /com.atproto.sync.getBlob
ComAtprotoSyncApi ComAtprotoSyncGetBlocks GET /com.atproto.sync.getBlocks
ComAtprotoSyncApi ComAtprotoSyncGetLatestCommit GET /com.atproto.sync.getLatestCommit
ComAtprotoSyncApi ComAtprotoSyncGetRecord GET /com.atproto.sync.getRecord
ComAtprotoSyncApi ComAtprotoSyncGetRepo GET /com.atproto.sync.getRepo
ComAtprotoSyncApi ComAtprotoSyncGetRepoStatus GET /com.atproto.sync.getRepoStatus
ComAtprotoSyncApi ComAtprotoSyncListBlobs GET /com.atproto.sync.listBlobs
ComAtprotoSyncApi ComAtprotoSyncListRepos GET /com.atproto.sync.listRepos
ComAtprotoSyncApi ComAtprotoSyncNotifyOfUpdate POST /com.atproto.sync.notifyOfUpdate
ComAtprotoSyncApi ComAtprotoSyncRequestCrawl POST /com.atproto.sync.requestCrawl
ToolsOzoneCommunicationApi ToolsOzoneCommunicationCreateTemplate POST /tools.ozone.communication.createTemplate
ToolsOzoneCommunicationApi ToolsOzoneCommunicationDeleteTemplate POST /tools.ozone.communication.deleteTemplate
ToolsOzoneCommunicationApi ToolsOzoneCommunicationListTemplates GET /tools.ozone.communication.listTemplates
ToolsOzoneCommunicationApi ToolsOzoneCommunicationUpdateTemplate POST /tools.ozone.communication.updateTemplate
ToolsOzoneModerationApi ToolsOzoneModerationEmitEvent POST /tools.ozone.moderation.emitEvent
ToolsOzoneModerationApi ToolsOzoneModerationGetEvent GET /tools.ozone.moderation.getEvent
ToolsOzoneModerationApi ToolsOzoneModerationGetRecord GET /tools.ozone.moderation.getRecord
ToolsOzoneModerationApi ToolsOzoneModerationGetRepo GET /tools.ozone.moderation.getRepo
ToolsOzoneModerationApi ToolsOzoneModerationQueryEvents GET /tools.ozone.moderation.queryEvents
ToolsOzoneModerationApi ToolsOzoneModerationQueryStatuses GET /tools.ozone.moderation.queryStatuses
ToolsOzoneModerationApi ToolsOzoneModerationSearchRepos GET /tools.ozone.moderation.searchRepos
ToolsOzoneServerApi ToolsOzoneServerGetConfig GET /tools.ozone.server.getConfig
ToolsOzoneTeamApi ToolsOzoneTeamAddMember POST /tools.ozone.team.addMember
ToolsOzoneTeamApi ToolsOzoneTeamDeleteMember POST /tools.ozone.team.deleteMember
ToolsOzoneTeamApi ToolsOzoneTeamListMembers GET /tools.ozone.team.listMembers
ToolsOzoneTeamApi ToolsOzoneTeamUpdateMember POST /tools.ozone.team.updateMember

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

Bearer

  • Type: Bearer Authentication

About

BlueSky C# Client generated from OpenAPI specs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages