This library serves as a .NET wrapper for the 1Password command-line tool op.exe ( Download | Documentation ).
This library targets .NET 6.0 and .NET 7.0.
This library has no dependencies.
var onePassword = new OnePasswordManager();
var domain = "my.1password.com";
var email = "your@email.com";
var secretKey = "A3-YOUR-SECRET-KEY";
var password = "yourpassword";
onePassword.AddAccount(domain, email, secretKey, password);
onePassword.SignIn(password);
onePassword.UseAccount(domain);
onePassword.SignIn(password);
var vaults = onePassword.GetVaults();
var vault = vaults.First(x => x.Name == "Private");
var serverTemplate = onePassword.GetTemplate(Category.Server);
serverTemplate.Title = "Your Item's Title";
serverTemplate.Fields.First(x => x.Label == "username").Value = "secretuser";
serverTemplate.Fields.First(x => x.Label == "password").Value = "secretpass";
var serverItem = onePassword.CreateItem(serverTemplate, vault);
Note: If you want to reuse the same template for several items, make sure you clone the instance to avoid reference issues.
var server1 = serverTemplate.Clone();
var server2 = serverTemplate.Clone();
var items = onePassword.GetItems(vault);
var item = items.First(x => x.Title == "Your Item's Title");
item.Fields.First(x => x.Label == "password").Value = "newpass";
onePassword.EditItem(item, vault);
onePassword.ArchiveItem(item, vault);
onePassword.DeleteItem(item, vault);
onePassword.SignOut();