Another API description

Resources

Attributes

Resource Description
POST /api/api/v1/users/add_attribute Add custom attribute to a user
DELETE /api/api/v1/users/remove_attribute Remove custom attribute from a user

BIT ID Authentication Protocol
BIT ID Authentication

Resource Description
GET /api/v1/bitid/:id Get a BIT ID url.
GET /api/v1/bitid_ready Has the user completed the BIT ID authentication.
POST /api/v1/bitid_callback Called by the smartphone or other BIT ID device to confirm the user log in.

User Registration
Register users against your API key.

Resource Description
POST /api/v1/users Register a user with OnChain.

Password Reset
Allow your users to reset passwords.

Resource Description
POST /api/v1/password/token Get a password reset token for a user.
POST /api/v1/password/reset Reset a users password.

User Management
Manage your users.

Resource Description
POST /api/v1/users/sign_in Sign in a user.
DELETE /api/v1/users/sign_out Sign out a user.
POST /api/api/v1/users/add_attribute Add custom attribute to a user
DELETE /api/api/v1/users/remove_attribute Remove custom attribute from a user

Transaction Signing
Sign multi signature transactions.

Resource Description
GET /api/v1/wallets/:wallet_id/sign Get an URL for signing a transaction.
GET /api/v1/wallets/:wallet_id/sign_transaction Get a transaction for a remote device.
POST /api/v1/wallets/:wallet_id/sign_transaction Sign the inputs of a transaction.
GET /api/v1/wallets/:wallet_id/sign_transaction Check to see if the remote device has signed the transaction yet.

Wallet Tethering
Use smartphones as signing devices.

Resource Description
GET /api/v1/wallets/:wallet_id/tether Get a Tethering url.
POST /api/v1/wallets/:wallet_id/tether_callback Add a xpub format public key to a wallet.
POST /api/v1/wallets/:wallet_id/tether_ready Has the remote device sent a publi key yet.

Transactions

Resource Description
GET /api/v1/wallets/:wallet_id/transaction/:id Get a specific transaction.
POST /api/v1/wallets/:wallet_id/transactions/add_signatures Add signatures to a transaction.
POST /api/v1/wallets/:wallet_id/transactions Create a transaction to send BTC to an address.

Wallets

Resource Description
GET /api/v1/wallets Get the wallets for the current user.
POST /api/v1/wallets Create a wallet.
GET /api/v1/wallets/:wallet_id/receive_addresses Get the users Bitcoin addresses for a particular wallet.
GET /api/v1/wallets/:wallet_id/history Get the transaction history for all the addresses in a wallet.
GET /api/v1/wallets/:wallet_id/balance Get the BTC and USD balance for a wallet.
POST /api/v1/wallets/:wallet_id/add_custom_key Add an encrypted private key to the wallet.
POST /api/v1/wallets/:wallet_id/add_extended_public_key Add an xpub format key to this wallet.