Suppose I have a big project, called Northwind. It's a website in front of a database. Now management want me to create a public API for this.

I create a new ASP.NET Core project called Northwind.Api

But now the customers want a nuget package to invoke the API with. (They don't want to invoke REST calls directly). I would naturally call this client package Northwind.Api.

So there's a problem. Is there a convention for naming:

  • The project that implements an API
  • A library providing a wrapper that calls the API.

I can't call them both Northwind.Api.

  • I disagree with the close suggestion "Primarily Opinion Based". I am hoping to get an answer based on existing conventions. Dec 3, 2019 at 11:00

1 Answer 1


I think you can call Nuget project Northwind.SDK, it is not the API, yet it is some package that allows you develop software that uses the API with ease, one would say it is a software development kit. In fact, it is the official software development kit.

Another option for you is to call it Northwind.ApiClient, because it is a library that consumes the API. Although, it is only one client, not the client. I would prefer Northwind.SDK, unless you are already using that name for something else.

For a third option. You could call your ASP.NET Core project Northwind.WebApi. I suppose beyond the organization nobody is aware of that name. That would free the name Northwind.Api. Although I recognize that it could be too late to rename that project.

  • Thanks - I still haven't checked in the initial API project, so the appropriate time for me to rename it is now :-) Dec 3, 2019 at 5:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.