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 doesn't exist, return an error. If passwd_hash is given and is correct, return the 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(); echo "

Set forum preferences

"; list_start(); list_item('URL', 'project/edit_forum_preferences_action.php
NOTE: this uses POST, not GET ' ); list_item('input', 'account_key
avatar_url
avatar_select
forum_images_as_links
forum_link_externally
forum_hide_avatars
forum_hide_signatures
forum_jump_to_unread
forum_ignore_sticky_posts
forum_low_rating_threshold
forum_high_rating_threshold
forum_minimum_wrap_poastcound
forum_display_wrap_poastcound
signature_enabled
signature
forum_sort
thread_sort
faq_sort
answer_sort
forum_filter_user
[ removeID ... ] ' ); list_item('output', '<success/> or <error>XXX</error> ' ); list_item('action', 'Update user\'s forum preferences' ); list_end(); page_tail(); ?>