BOINC projects export a number of Web RPCs that can be used to create, query and update accounts and host records. These can be used for account management systems and credit statistics web sites.

BOINC's RPC mechanisms have the following conventions:

Create account

"; list_start(); list_item("URL", "project_url/create_account.php"); list_item( "input", "email_addr: email address
passwd_hash: the MD5 hash of the concatenation of the user's password and the email address.
user_name: the user name "); list_item( "output", html_text(" [ N ] [ XXX ] ") ); list_item( "action", "If the project already has an account with that email address, and a different password, it returns an error. If an account with that email address exists and has the same password, it returns the authenticator. Otherwise the project creates an account and returns the authenticator. "); list_end(); echo "

Look up account

"; list_start(); list_item("URL", "project_url/lookup_account.php"); list_item( "input", "email_addr: email address
passwd_hash: the MD5 hash of the concatenation of the user's password and the email address. "); list_item( "output", html_text(" [ N ] [ XXX ] ") ); list_item( "action", "If an account with the given email address and password hash exists, return its account key." ); list_end(); echo "

Get account info

"; list_start(); list_item("URL", "project_url/am_get_info.php"); list_item("input", "account_key"); list_item("output", html_text(" ID NAME COUNTRY POSTAL_CODE GLOBAL_PREFS PROJECT_PREFS URL SEND_EMAIL SHOW_HOSTS N X or MSG ") ); list_item("action", "returns data associated with the given account"); list_end(); echo "

Set account info

"; list_start(); list_item("URL", "project_url/am_set_info.php"); list_item("input", "account_key
[ name ]
[ country ]
[ postal_code ]
[ global_prefs ]
[ project_prefs ]
[ url ]
[ send_email ]
[ show_hosts ]
[ teamid ] zero means quit current team, if any
[ venue ]
[ email_addr ]
[ password_hash ] " ); list_item("output", html_text(" [ MSG ] [ ] ") ); list_item("action", "Updates one or more attributes of the given account. The password hash is MD5(password+lower_case(email_addr)). If email address is changed, you must also change the password hash." ); list_end(); echo "

Set host info

"; list_start(); list_item("URL", "project_url/am_set_host_info.php"); list_item("input", "account_key
hostid
venue " ); list_item("output", html_text(" [ MSG ] [ ] ") ); list_item("action", "Updates the host's venue" ); list_end(); echo "

Get account/host credit information

"; list_start(); list_item("URL", "project/show_user.php?userid=X&format=xml or project/show_user.php?auth=X&format=xml" ); list_item("input", "id (user ID) or auth (account key)" ); list_item("output", html_text(" 123 fe0b2753a355b17864ec061eb1b9e8de 918948493 Joe Smith United States 3806.869739 200 1110833427.64028 114322 example.com 1 or 123 fe0b2753a355b17864ec061eb1b9e8de 1101918807 David United States 0.293197 0.000883 1116963330.83107 0 example.com 1 123 1287339128 123 fe0b2753a355b17864ec061eb1b9e8de 0 0 0 Sorabji 1 Mobile Intel(R) Pentium(R) 4 - M CPU 2.20GHz Pentium 330806175.78458 409200165.535107 Microsoft Windows XP Professional Edition, Service Pack 2, (05.01.2600.00) ... ") ); list_item("action", "Returns info about an account. If called with the account key, returns a list of hosts associated with the account." ); list_end(); echo "

Create team

"; list_start(); list_item("URL", "project/create_team.php" ); list_item("input", "account_key: identifies team founder
name: name of team
url: team URL (optional)
type: one of the types listed here.
name_html: team name, HTML (optional)
description: text describing team (optional)
country: team country (optional; if present, must be one of the countries listed here. "); list_item("output", html_text(" N or messages ")); list_item("action", "Creates a team" ); list_end(); echo "

Look up teams

"; list_start(); list_item("URL", "project/team_lookup.php?team_name=string&format=xml" ); list_item("input", "Substring of team name" ); list_item("output", html_text(" 5 BOINC@AUSTRALIA Australia 9 BOINC Synergy International 16 BOINC.BE Belgium 23 HispaSeti & BOINC International Get team member list "; list_start(); list_item('URL', 'project/team_email_list.php?teamid=X&account_key=Y&xml=1' ); list_item("input", 'teamid: database ID of team
account_key: account key of team founder (optional)' ); list_item("output", html_text(" 1 pdq@usndathoople.edu 232f381c79336f0bd8df02bbce2f2217 1076897105 David United States 9.907264 0.023264 1142628426.48937 usndathoople.edu/~pdq 1 [ ... ] ") ); list_item('action', 'Show list of team members. If account key is that of team founder, show email addresses.' ); list_end(); page_tail(); ?>