Skip to contents

OData API

Top-level functions to retrieve and parse data via the OData API. These functions alone are enough to retrieve all submissions with their nested tables and attachments and parse their datatypes. See vignette("odata-api") for a walkthrough.

odata_metadata_get() stable
Retrieve metadata from an OData URL ending in .svc as list of lists.
odata_service_get() stable
Retrieve service metadata from an OData URL ending in .svc as tibble.
odata_submission_get() stable
Retrieve and rectangle form submissions, parse dates, geopoints, download and link attachments.

Projects

Functions to manage projects.

form_assignment_role_list() experimental
List Role-specific Form Assignments within a Project.
project_assignment_actors() experimental
List all Actors assigned some Project Role.
project_assignment_grant() experimental
Assign an Actor to a Project Role.
project_assignment_revoke() experimental
Revoke a Project Role Assignment from an Actor.
project_create() experimental
Create a new project.
project_delete() experimental
Delete a Project.
project_detail()
List all details of one project.
project_enable_encryption() experimental
Enable Project Managed Encryption.
project_list()
List all projects.
project_replace() experimental
Replace a Project.
project_update() experimental
Modify a Project.

Entities

An Entity List is a named collection of Entities that have the same properties. In the ODK Central API and in the related ODK XForms specification, collections of Entities are referred to as Datasets. The term “Entity List” is used for this concept in the Central frontend UI, user documentation, and all other text intended for end users who are not developers. Accordingly, ruODK uses the term “entitylist_” for Entity Lists.

entity_audits() maturing
Return server audit logs of one Entity.
entity_bulk_delete() experimental
Delete multiple Entities at once.
entity_bulk_restore() experimental
Restore multiple deleted Entities at once.
entity_changes() maturing
List changes to one Entity.
entity_create() experimental
Creates exactly one Entity in the Dataset.
entity_creators() experimental
List all creators of Entities in one Entity List.
entity_delete() maturing
Delete one Entity.
entity_detail() maturing
Show metadata and current data of one Entity.
entity_geodata() experimental
Get Entity geodata as GeoJSON.
entity_geojson() experimental
Get the GeoJSON of one Entity.
entity_list() maturing
List all Entities of a kind.
entity_restore() experimental
Restore a deleted Entity.
entity_update() experimental
Update one Entity.
entity_versions() maturing
List versions of one Entity.
entitylist_create() experimental
Create an Entity List.
entitylist_delete() experimental
Delete an Entity List.
entitylist_detail() maturing
Show Entity List details.
entitylist_download() maturing
Download an Entity List as CSV.
entitylist_list() maturing
List all Entity Lists of one Project.
entitylist_property_create() experimental
Add a property to an Entity List.
entitylist_property_delete() experimental
Delete a property from an Entity List.
entitylist_trash_download() experimental
Download Entities of a deleted Entity List.
entitylist_update() maturing
Update Entity List details.
odata_entitylist_data_get() experimental
Get the Data Document from the OData Dataset Service.
odata_entitylist_metadata_get() experimental
Get the Metadata Document from the OData Dataset Service.
odata_entitylist_service_get() experimental
Get the Service Document from the OData Dataset Service.

Forms

Functions to manage forms. Once their implementation is completed, these functions can be used to manage the life cycle of forms from drafts to published forms, their retirement, form permissions, as well as form attachments.

form_assignment_actors() experimental
List all Actors assigned some Form Role.
form_assignment_grant() experimental
Assign an Actor to a Form Role.
form_assignment_revoke() experimental
Revoke a Form Role Assignment from an Actor.
form_attachment_download() experimental
Download one Form attachment.
form_attachment_list() experimental
List all attachments of one Form.
form_create() experimental
Create a new Form.
form_dataset_diff() experimental
Show Datasets affected by one Form.
form_delete() experimental
Delete a Form.
form_detail() stable
Show details for one form.
form_draft_attachment_delete() experimental
Clear a Draft Form attachment.
form_draft_attachment_download() experimental
Download one Draft Form attachment.
form_draft_attachment_link() experimental
Link a Dataset to a Draft Form attachment.
form_draft_attachment_list() experimental
List all expected attachments of a Draft Form.
form_draft_attachment_upload() experimental
Upload a Draft Form attachment.
form_draft_create() experimental
Create a Draft Form.
form_draft_dataset_diff() experimental
Show Dataset changes of a Draft Form.
form_draft_delete() experimental
Delete a Draft Form.
form_draft_detail() experimental
Show details of a Draft Form.
form_draft_publish() experimental
Publish a Draft Form.
form_draft_xlsx() experimental
Download the XLSForm of a Draft Form.
form_draft_xml() experimental
Show the XML of a Draft Form.
form_link() experimental
Show Form details by Form Link ID.
form_list() stable
List all forms.
form_restore() experimental
Restore a deleted Form.
form_schema() stable
Show the schema of one form.
form_schema_ext() experimental
Show the extended schema of one form.
form_update() experimental
Modify a Form's state.
form_version_attachment_download() experimental
Download one attachment of a published Form version.
form_version_attachment_list() experimental
List expected attachments of one published Form version.
form_version_detail() experimental
Show details of one published Form version.
form_version_list() experimental
List all published versions of one Form.
form_version_xlsx() experimental
Download the XLSForm of one published Form version.
form_version_xml() experimental
Show the XML of one published Form version.
form_xlsx() experimental
Download the XLSForm of one Form.
form_xml() stable
Show the XML representation of one form as list.
public_link_create() experimental
Create a Public Access Link for one Form.
public_link_delete() experimental
Delete a Public Access Link.
public_link_detail() experimental
Show details of one Public Access Link.
public_link_list() experimental
List all Public Access Links of one Form.
public_link_update() experimental
Set Actor Property values on a Public Access Link.

Submissions

Functions to manage submissions and their attachments. This family of functions provides an alternative way to the OData family. Specifically, submissions include nested tables in each record. See vignette("restful-api") for a walkthrough.

attachment_delete() experimental
Clear a Submission attachment.
attachment_list()
List all attachments for a list of submission instances.
attachment_upload() experimental
Upload a Submission attachment.
encryption_key_list() maturing
List all encryption keys for a form.
submission_audit_get() experimental
Get submission audits for a list of submission instance IDs.
submission_changes() experimental
Show changes between versions of one Submission.
submission_comment_create() experimental
Post a comment to one Submission.
submission_comment_list() experimental
List all comments of one Submission.
submission_create() experimental
Create a Submission.
submission_csv() experimental
Export the root Submission table to CSV.
submission_delete() experimental
Delete a Submission.
submission_detail() stable
Show metadata for one submission.
submission_draft_attachment_delete() experimental
Clear an attachment of a Draft Submission.
submission_draft_attachment_download() experimental
Download one attachment of a Draft Submission.
submission_draft_attachment_list() experimental
List expected attachments of one Draft Submission.
submission_draft_attachment_upload() experimental
Upload an attachment of a Draft Submission.
submission_draft_create() experimental
Create a Submission on a Draft Form.
submission_draft_export() experimental
Export Draft Submissions to CSV.
submission_draft_get() experimental
Download one Draft Submission.
submission_draft_keys() experimental
List encryption keys of Draft Submissions.
submission_draft_list() experimental
List all Submissions of a Draft Form.
submission_edit() experimental
Edit one Submission field and leave a comment.
submission_export() maturing
Export all form submissions including repeats and attachments to CSV.
submission_geodata() experimental
Get Submissions geodata as GeoJSON.
submission_geojson() experimental
Get the GeoJSON of one Submission.
submission_get()
Get submissions for a list of submission instance IDs.
submission_list() stable
List all submissions of one form.
submission_restore() experimental
Restore a deleted Submission.
submission_review() experimental
Review a Submission.
submission_submitters() experimental
List all submitting Actors of one Form.
submission_update() experimental
Update Submission data.
submission_version_attachment_delete() experimental
Clear one attachment of a Submission version.
submission_version_attachment_download() experimental
Download one attachment of a Submission version.
submission_version_attachment_list() experimental
List expected attachments of one Submission version.
submission_version_detail() experimental
Show details of one Submission version.
submission_version_geojson() experimental
Get the GeoJSON of one Submission version.
submission_version_xml() experimental
Show the XML of one Submission version.
submission_versions() experimental
List all versions of one Submission.

Users

Functions to operate on users, roles, and their permissions.

app_user_create() experimental
Create a new App User.
app_user_delete() experimental
Delete an App User.
app_user_list() experimental
List all App Users of a Project.
assignment_actors() experimental
List all Actors assigned some server-wide Role.
assignment_grant() experimental
Assign an Actor to a server-wide Role.
assignment_list() experimental
List all server-wide Assignments.
assignment_revoke() experimental
Strip a server-wide Role Assignment from an Actor.
form_assignment_list() experimental
Summarize all Form Assignments of one Project.
project_assignment_list() experimental
List all Assignments of one Project.
role_detail() experimental
Show details of one Role.
role_list() experimental
List all Roles.
user_create() experimental
Create a new User.
user_delete() experimental
Delete a User.
user_detail() experimental
Show details of one User.
user_list() maturing
List all users.
user_preference_project_delete() experimental
Delete a project preference of the authenticated User.
user_preference_project_set() experimental
Set a project preference of the authenticated User.
user_preference_site_delete() experimental
Delete a sitewide preference of the authenticated User.
user_preference_site_set() experimental
Set a sitewide preference of the authenticated User.
user_reset_password() experimental
Initiate a User password reset.
user_update() experimental
Modify a User.
user_update_password() experimental
Directly update a User password.

Server

Functions related to server management.

audit_get() stable
Get server audit log entries.
config_public() experimental
Show publicly accessible server configuration.

Utilities

Functions to assist with retrieval and parsing of submissions and their attachments. These functions are used from within top-level functions. The typical workflow does not call these explicitly.

attachment_get() stable
Download attachments and return the local path.
attachment_link() stable
Prefix attachment columns from CSV export with a local attachment file path.
drop_null_coords()
Drop any NULL coordinates from a GeoJSON geometry.
form_schema_parse() stable
Parse a form_schema into a tibble of fields with name, type, and path.
get_one_attachment() stable
Download one media attachment.
get_one_submission()
Download one submission.
get_one_submission_att_list() stable
List all attachments of one submission.
get_one_submission_audit() experimental
Download server audit logs for one submission.
handle_ru_attachments() stable
Download and link submission attachments according to a form schema.
handle_ru_datetimes() stable
Parse datetimes of submission data according to a form schema.
handle_ru_geopoints() stable
Split all geopoints of a submission tibble into their components.
handle_ru_geoshapes() stable
Split all geoshapes of a submission tibble into their components.
handle_ru_geotraces() stable
Split all geotraces of a submission tibble into their components.
odata_submission_rectangle() stable
Rectangle the output of odata_submission_get(parse=FALSE) into a tidy tibble and unnest all levels.
split_geopoint() stable
Annotate a dataframe containing a geopoint column with lon, lat, alt.
split_geoshape() stable
Annotate a dataframe containing a geoshape column with lon, lat, alt of the geotrace's first point.
split_geotrace() stable
Annotate a dataframe containing a geotrace column with lon, lat, alt of the geotrace's first point.

Messaging

Custom handlers for messages, warnings, and errors.

ru_msg_abort() stable
Abort with an error message.
ru_msg_info() stable
Print an info message.
ru_msg_noop() stable
Print a noop message.
ru_msg_success() stable
Print a success message.
ru_msg_warn() stable
Signal a warning message.

Settings

Functions to manage ruODK settings.

odata_svc_parse() stable
Retrieve URL, project ID, and form ID from an ODK Central OData service URL.
parse_odkc_version() stable
Parse a given ODK Central version string or number into a semver.
ru_settings() get_default_pid() get_default_fid() get_default_url() get_default_un() get_default_pw() get_default_pp() get_default_tz() get_default_orders() get_test_url() get_test_un() get_test_pw() get_test_pid() get_test_fid() get_test_fid_zip() get_test_fid_att() get_test_fid_gap() get_test_fid_wkt() get_test_pp() get_ru_verbose() get_default_odkc_version() get_test_odkc_version() get_retries() stable
Get or set ruODK settings.
ru_setup()
Configure default ruODK settings.
semver_gt()
Show whether a given semver is greater than a baseline version.
semver_lt()
Show whether a given semver is lesser than a baseline version.

Example data

Datasets included in ruODK, used in unit tests, code examples and vignettes.

fq_attachments stable
A tibble of submission attachments.
fq_data stable
Parsed submission data for an ODK Central form.
fq_data_strata stable
Parsed submission data for a subgroup of an ODK Central form.
fq_data_taxa stable
Parsed submission data for a subgroup of an ODK Central form.
fq_form_detail stable
A tibble of form metadata.
fq_form_list stable
A tibble of forms.
fq_form_schema stable
JSON form schema for an ODK Central form.
fq_form_xml stable
A nested list of a form definition.
fq_meta stable
OData metadata document for an ODK Central form.
fq_project_detail stable
A tibble of project metadata.
fq_project_list stable
A tibble of project metadata.
fq_raw stable
OData submission data for an ODK Central form.
fq_raw_strata stable
OData submission data for a subgroup of an ODK Central form.
fq_raw_taxa stable
OData submission data for a subgroup of an ODK Central form.
fq_submission_list stable
A tibble of submission metadata.
fq_submissions stable
A nested list of submission data.
fq_svc stable
OData service document for an ODK Central form.
fq_zip_data stable
A tibble of the main data table of records from a test form.
fq_zip_strata stable
A tibble of a repeated sub-group of records from a test form.
fq_zip_taxa stable
A tibble of a repeated sub-group of records from a test form.
fs_v7 stable
The parsed XML form_schema of a form from ODK Central v0.6.
fs_v7_raw stable
The unparsed XML form_schema of a form from ODK Central v0.6 as nested list.
geo_fs stable
The form_schema of a form containing geofields in GeoJSON.
geo_gj stable
The parsed submissions of a form containing geofields in GeoJSON.
geo_gj88 stable
The parsed submissions of a form containing geofields in GeoJSON with trailing empty coordinates present.
geo_gj_raw stable
The unparsed submissions of a form containing geofields in GeoJSON.
geo_wkt stable
The parsed submissions of a form containing geofields in WKT.
geo_wkt88 stable
The parsed submissions of a form containing geofields in WKT with trailing empty coordinates present.
geo_wkt_raw stable
The unparsed submissions of a form containing geofields in WKT.