Open sumitsaurabh927 opened 1 year ago
@sumitsaurabh927 really glad that you are interested in the library and wondering if you would like to help out. You are right that not all endpoints are implemented but that that there are already issues logged #66 #67 #68 #70 and some in your list are already implemented which makes your report a bit misleading (particularly if you scanning the issues as a newbie).
IT would be really helpful if you could do a full reconciliation against the API including the version the API was introduced and last changed. For example, I think you have missed tenants. I'd be really keen to accept this as documentation in a pull request.
Are you interested?
Hey @toddb I along with my colleagues from the devX team had been working to port documentation. Having been working on api reference documentation, it came to my attention that not all the endpoints were listed in the readme and you're right, I should have made a detailed issue listing actual missing endpoints. I'll be updating the issue now.
Unfortunately, my plate is a little full right now, can you update it once I've updated the issue?
@sumitsaurabh927 Could you tell me a little more about what you are doing around porting api documentation? I can't tell if you are working on the Novu documentation itself or a more general tool. Could it be of help to use here? or for Novu themselves? SDK libraries really struggle to know when to make changes (as well as the back-filling problem we currently have).
Hey @toddb sorry if my language created confusion for you. What I meant was I was working on the documentation. One of the tasks assigned to me was adding all the SDK methods for all our SDKs.
When I came to the .NET SDK, I noticed that some endpoints weren't implemented here and I was having trouble with adding them to our docs.
For example - See in the images below, we don't have a .NET version of Get Subscribers, like we do for Create Subscriber.
This is why I created this issue so that someone looking to contribute can compare all the available endpoints and all the implemented ones and add the missing ones.
I've identified the following ones that aren't present in the .Net SDK:
The SDK isn't up to date with the API specification. I updated the EventTo model here https://github.com/novuhq/novu-dotnet/pull/81
Compatability: Full, Incomplete, None, Upgrade
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
POST | /v1/events/trigger | Trigger event | Upgrade | |
POST | /v1/events/trigger/bulk | Bulk trigger event | Full | |
POST | /v1/events/trigger/broadcast | Broadcast event to all | Full | |
DELETE | /v1/events/trigger/{transactionId} | Cancel triggered event | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/subscribers | Get subscribers | Full | |
POST | /v1/subscribers | Create subscriber | Full | |
GET | /v1/subscribers/{subscriberId} | Get subscriber | Full | |
PUT | /v1/subscribers/{subscriberId} | Update subscriber | Full | |
DELETE | /v1/subscribers/{subscriberId} | Delete subscriber | Full | |
POST | /v1/subscribers/bulk | Bulk create subscribers | Full | |
PUT | /v1/subscribers/{subscriberId}/credentials | Update subscriber credentials | Full | |
DELETE | /v1/subscribers/{subscriberId}/credentials/{providerId} | Delete subscriber credentials by providerId | Full | |
PATCH | /v1/subscribers/{subscriberId}/online-status | Update subscriber online status | Full | |
GET | /v1/subscribers/{subscriberId}/preferences | Get subscriber preferences | Full | |
PATCH | /v1/subscribers/{subscriberId}/preferences | Update subscriber global preferences | Full | |
GET | /v1/subscribers/{subscriberId}/preferences/{level} | Get subscriber preferences by level | Full | |
PATCH | /v1/subscribers/{subscriberId}/preferences/{templateId} | Update subscriber preference | Full | |
GET | /v1/subscribers/{subscriberId}/notifications/feed | Get in-app notification feed for a particular subscriber | Full | |
GET | /v1/subscribers/{subscriberId}/notifications/unseen | Get the unseen in-app notifications count for subscribers feed | Full | |
POST | /v1/subscribers/{subscriberId}/messages/markAs | Mark a subscriber feed message as seen | Full | |
POST | /v1/subscribers/{subscriberId}/messages/mark-all | Marks all the subscriber messages as read, unread, seen or unseen. Optionally you can pass feed id (or array) to mark messages of a particular feed. | Full | |
POST | /v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type} | Mark message action as seen | Full | |
GET | /v1/subscribers/{subscriberId}/credentials/{providerId}/oauth/callback | Handle providers oauth redirect | Full | |
GET | /v1/subscribers/{subscriberId}/credentials/{providerId}/oauth | Handle chat oauth | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
POST | /v1/topics | Topic creation | Full | |
GET | /v1/topics | Filter topics | Full | |
POST | /v1/topics/{topicKey}/subscribers | Subscribers addition | Full | |
GET | /v1/topics/{topicKey}/subscribers/{externalSubscriberId} | Check topic subscriber | Full | |
POST | /v1/topics/{topicKey}/subscribers/removal | Subscribers removal | Full | |
DELETE | /v1/topics/{topicKey} | Delete topic | Full | |
GET | /v1/topics/{topicKey} | Get topic | Full | |
PATCH | /v1/topics/{topicKey} | Rename a topic | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/notifications | Get notifications | Full | |
GET | /v1/notifications/stats | Get notification statistics | Full | |
GET | /v1/notifications/graph/stats | Get notification graph statistics | Full | |
GET | /v1/notifications/{notificationId} | Get notification | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/integrations | Get integrations | Full | |
POST | /v1/integrations | Create integration | Full | |
GET | /v1/integrations/active | Get active integrations | Full | |
GET | /v1/integrations/webhook/provider/{providerId}/status | Get webhook support status for provider | Full | |
PUT | /v1/integrations/{integrationId} | Update integration | Full | |
DELETE | /v1/integrations/{integrationId} | Delete integration | Full | |
POST | /v1/integrations/{integrationId}/set-primary | Set integration as primary | Full | |
GET | /v1/integrations/{channelType}/limit | Full | ||
GET | /v1/integrations/in-app/status | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
POST | /v1/layouts | Layout creation | Full | |
GET | /v1/layouts | Filter layouts | Full | |
GET | /v1/layouts/{layoutId} | Get layout | Full | |
DELETE | /v1/layouts/{layoutId} | Delete layout | Full | |
PATCH | /v1/layouts/{layoutId} | Update a layout | Full | |
POST | /v1/layouts/{layoutId}/default | Set default layout | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/workflows | Get workflows | Full | |
POST | /v1/workflows | Create workflow | Full | |
PUT | /v1/workflows/{workflowId} | Update workflow | Full | |
DELETE | /v1/workflows/{workflowId} | Delete workflow | Full | |
GET | /v1/workflows/{workflowId} | Get workflow | Full | |
PUT | /v1/workflows/{workflowId}/status | Update workflow status | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
POST | /v1/notification-groups | Create workflow group | Full | |
GET | /v1/notification-groups | Get workflow groups | Full | |
GET | /v1/notification-groups/{id} | Get workflow group | Full | |
PATCH | /v1/notification-groups/{id} | Update workflow group | Full | |
DELETE | /v1/notification-groups/{id} | Delete workflow group | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/changes | Get changes | None | |
GET | /v1/changes/count | Get changes count | None | |
POST | /v1/changes/bulk/apply | Apply changes | None | |
POST | /v1/changes/{changeId}/apply | Apply change | None |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/environments/me | Get current environment | None | |
POST | /v1/environments | Create environment | None | |
GET | /v1/environments | Get environments | None | |
GET | /v1/environments/api-keys | Get api keys | None | |
POST | /v1/environments/api-keys/regenerate | Regenerate api keys | None |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/inbound-parse/mx/status | Validate the mx record setup for the inbound parse functionality | None |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
POST | /v1/feeds | Create feed | None | |
GET | /v1/feeds | Get feeds | None | |
DELETE | /v1/feeds/{feedId} | Delete feed | None |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/tenants | Get tenants | None | |
POST | /v1/tenants | Create tenant | None | |
GET | /v1/tenants/{identifier} | Get tenant | None | |
PATCH | /v1/tenants/{identifier} | Update tenant | None | |
DELETE | /v1/tenants/{identifier} | Delete tenant | None |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/messages | Get messages | Full | |
DELETE | /v1/messages/{messageId} | Delete message | Full | |
DELETE | /v1/messages/transaction/{transactionId} | Delete messages by transactionId | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
POST | /v1/organizations | Create an organization | None | |
GET | /v1/organizations | Fetch all organizations | None | |
PATCH | /v1/organizations | Rename organization name | None | |
GET | /v1/organizations/me | Fetch current organization details | None | |
DELETE | /v1/organizations/members/{memberId} | Remove a member from organization using memberId | None | |
PUT | /v1/organizations/members/{memberId}/roles | Update a member role to admin | None | |
GET | /v1/organizations/members | Fetch all members of current organizations | None | |
PUT | /v1/organizations/branding | Update organization branding details | None |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/execution-details | Get execution details | Full |
HTTP Method | Endpoint | Description | Compatability | Notes |
---|---|---|---|---|
GET | /v1/blueprints/group-by-category | None | ||
GET | /v1/blueprints/{templateId} | None |
Some endpoints of the following section can't be hit from this SDK. Please ensure that all the SDK methods are up to date. I'm adding here a list of sections to check/update:
Some of these methods already exist. No need to change/update them. This is just to bring every SDK we have on par with all the methods available.
Check all the endpoints here and add the missing ones.