← Back to catalog

Other

OSF APIv2 Documentation

auto-generated
swirls add osf
actionGETv1.0.0

List all addon accounts

A paginated list of addon accounts authorized by this user. #### Permissions Addon accounts are visible only to the user that authorized the account. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of at most 10 addon account objects. Each resource in the array is a separate addon account object and contains the full representation of the addon account. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all addon folders

A paginated list of folders retrieved from the associated third-party (provider) service. #### Permissions Folders are visible only to the user that authorized the addon. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of addon folder objects. Each resource in the array is a separate addon folder object and contains the full representation of the addon folder, meaning additional requests to a addon folder's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all addons

A paginated list of addons configurable with the OSF, for read purposes only. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 addons. Each resource in the array is a separate addon object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Errors This request should never return an error.

Source
actionGETv1.0.0

List all addons

A paginated list of addons connected to the given node or project. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of at most 10 addon objects. Each resource in the array is a separate addon object and contains the full representation of the addon, meaning additional requests to a addon's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all affiliated nodes

A paginated list of all nodes affiliated with an institution. #### Versioning As of version `2.2`, affiliated components (in addition to affiliated top-level projects) are returned from this endpoint. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 nodes. Each resource in the array is a separate nodes object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/institutions/cos/nodes?filter[title]=science. Nodes may be filtered by their `id`, `title`, `description`, `public`, `tags`, `category`, `date_created`, `date_modified`, `root`, `parent`, `contributors`, and `preprint`

Source
actionGETv1.0.0

List all affiliated registrations

A paginated list of all registrations affiliated with an institution. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 registrations. Each resource in the array is a separate users object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Filtering You can optionally request that the response only include registrations that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/institutions/cos/registrations?filter[title]=science. Registrations may be filtered by their `id`, `title`, `description`, `public`, `tags`, `category`, `date_created`, `date_modified`, `root`, `parent`, `contributors`, and `preprint`

Source
actionGETv1.0.0

List all affiliated users

A paginated list of all users affiliated with an institution. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 users. Each resource in the array is a separate users object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Filtering You can optionally request that the response only include users that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/institutions/cos/users?filter[family_name]=Nosek. Users may be filtered by their `id`, `full_name`, `given_name`, `middle_names`, and `family_name`

Source
actionGETv1.0.0

List all Bibliographic Contributors

A paginated list of the Preprint's Bibliographic Contributors, sorted by their index. Contributors are users who can make changes to the Preprint. Contributors with WRITE permissions may edit preprint details, and ADMIN Contributors may add or remove other Contributors. Contributors are categorized as either "bibliographic" or "non-bibliographic". From a permissions standpoint, both are the same, but bibliographic contributors are included in citations and are listed on the project overview page on the OSF, while non-bibliographic contributors are not. Note that if an anonymous view_only key is being used to view the list of contributors, the user relationship will not be exposed and the contributor ID will be an empty string. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 contributors. Each resource in the array contains the full representation of the contributor, meaning additional requests to a contributor's detail view are not necessary. Additionally, the full representation of the user this contributor represents is automatically embedded within the `data` key of the response. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include contributors that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/preprints/y9jdt/contributors/?filter[bibliographic]=true. Contributors may be filtered by their `bibliographic` and `permission` attributes.

Source
actionGETv1.0.0

List all child nodes

A paginated list of the next level child nodes for the given node. The returned nodes are sorted by their `date_modified`, with the most recently updated child nodes appearing first. The list will include child nodes that are public, as well as child nodes that are private, if the authenticated user has permission to view them. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 child nodes. If the given node has zero child nodes, the `data` key will contain an empty array. Each resource in the array is a separate node object and contains the full representation of the child node, meaning additional requests to the child node's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/ezcuj/children/?filter[title]=reproducibility. Nodes may be filtered by their `id`, `title`, `category`, `description`, `public`, `tags`, `date_created`, `date_modified`, `root`, `parent`, `preprint`, and `contributors`. Most fields are string fields and will be filtered using simple substring matching. Public and preprint are boolean fields, and can be filtered using truthy values, such as **true**, **false**, **0** or **1**. Note that quoting true or false in the query will cause the match to fail.

Source
actionGETv1.0.0

List all child registrations

A paginated list of children of a registration. The list consists of the next level child registrations for the given registration. The returned registrations are sorted by their `date_modified`, with the most recently updated child registrations appearing first. The list will include child registrations that are public, as well as child registrations that are private, if the authenticated user has permission to view them. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 child registrations. If the given registration has zero child registrations, the `data` key will contain an empty array. Each resource in the array is a separate registration object and contains the full representation of the child registration. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include registrations that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wucr8/children/?filter[title]=reproducibility. Registrations may be filtered by their `id`, `title`, `category`, `description`, `public`, `tags`, `date_created`, `date_modified`, `root`, `parent`, and `contributors`. Most fields are string fields and will be filtered using simple substring matching. Public is a boolean field, and can be filtered using truthy values, such as **true**, **false**, **0** or **1**. Note that quoting true or false in the query will cause the match to fail.

Source
actionGETv1.0.0

List all citation styles

A paginated list of all standard citation styles available for rendering citations. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 citation styles. Each resource in the array is a separate citation syle and contains the full representation of the citation style object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include citation styles that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/citations/styles/?filter[title]=open. Citation styles may be filtered by their `id`, `title`, `short-title`, and `summary`. #### Errors This request should never return an error.

Source
actionGETv1.0.0

List all citation styles

A paginated list of the registration's alternative citation styles #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 citation styles. Each resource in the array is a separate citation styles object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include citation styles that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wucr8/citations/?filter[title]=open. Citation styles may be filtered by their `id`, `title`, `short-title`, and `summary`.

Source
actionGETv1.0.0

List all Collections

Retrieves a list collections, either public or related to the user #### Permissions Anonymous users are able to see all public collections at this endpoint. Logged in users will only be able to see their own content. Comments on private nodes are only visible to contributors and administrators on the parent node. #### Returns Returns a JSON object containing `data` and `links` keys. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all comments

A paginated list of comments related to a given node. The returned comments are sorted by their creation date, with the most recent comments appearing first. #### Permissions Comments on public nodes are given read-only access to everyone. If the node comment-level is `private`, only contributors have permission to comment. If the comment-level is `public`, any logged-in OSF user can comment. Comments on private nodes are only visible to contributors and administrators on the parent node. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of comment objects. Each resource in the array is a separate comment object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include comments that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/ezcuj/comments/?filter[target_id]=jg7sezmdnt93 Nodes may be filtered by their `deleted`, `target_id`, `date_created`, `date_modified`. Most fields are string fields and will be filtered using simple substring matching. Public and preprint are boolean fields, and can be filtered using truthy values, such as **true**, **false**, **0** or **1**. Note that quoting `true` or `false` in the query will cause the match to fail.

Source
actionGETv1.0.0

List all comments

A paginated list of the registration's comments. The returned comments are sorted by their creation date, with the most recent comments appearing first. #### Permissions Comments of public registrations are given read-only access to everyone. If the comment-level is `private`, only registration contributors have permission to comment. If the comment-level is `public`, any logged-in OSF user can comment. Comments of private registrations are only visible to contributors and administrators on the registration. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of comment objects. Each resource in the array is a separate comment object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include comments that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wuerf/comments/?filter[target]=wuerf Comments may be filtered by their `deleted`, `target`, `date_created`, `date_modified`. Most fields are string fields and will be filtered using simple substring matching. Deleted is a boolean field, and can be filtered using truthy values, such as **true**, **false**, **0** or **1**. Note that quoting `true` or `false` in the query will cause the match to fail.

Source
actionGETv1.0.0

List all contributors

A paginated list of the node's contributors, sorted by their index. Contributors are users who can make changes to the node or, in the case of private nodes, have read access to the node. Contributors are categorized as either "bibliographic" or "non-bibliographic". From a permissions standpoint, both are the same, but bibliographic contributors are included in citations and are listed on the project overview page on the OSF, while non-bibliographic contributors are not. Note that if an anonymous view_only key is being used to view the list of contributors, the user relationship will not be exposed and the contributor ID will be an empty string. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 contributors. Each resource in the array contains the full representation of the contributor, meaning additional requests to a contributor's detail view are not necessary. Additionally, the full representation of the user this contributor represents is automatically embedded within the `data` key of the response. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include contributors that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/y9jdt/contributors/?filter[bibliographic]=true. Contributors may be filtered by their `bibliographic` and `permission` attributes.

Source
actionGETv1.0.0

List all contributors

A paginated list of all contributors on this registration. The returned contributors are sorted by their index. Contributors are users who can make changes to the registration or, in the case of private registration, have read access to the registration. Contributors are categorized as either "bibliographic" or "non-bibliographic". From a permissions standpoint, both are the same, but bibliographic contributors are included in citations and are listed in the contributors list on the OSF, while non-bibliographic contributors are not. Note that if an anonymous view_only key is being used to view the list of contributors, the user relationship will not be exposed and the contributor ID will be an empty string. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 contributors. Each resource in the array contains the full representation of the contributor. Additionally, the full representation of the user this contributor represents is automatically embedded within the `data` key of the response. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include contributors that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wu3a4/contributors/?filter[bibliographic]=true. Contributors may be filtered by their `bibliographic` and `permission` attributes.

Source
actionGETv1.0.0

List all Contributors for a Preprint

A paginated list of the Preprint's Contributors, sorted by their index. Contributors are users who can make changes to the Preprint. Contributors with WRITE permissions may edit preprint details, and ADMIN Contributors may add or remove other Contributors. Contributors are categorized as either "bibliographic" or "non-bibliographic". From a permissions standpoint, both are the same, but bibliographic contributors are included in citations and are listed on the project overview page on the OSF, while non-bibliographic contributors are not. Note that if an anonymous view_only key is being used to view the list of Contributors, the user relationship will not be exposed and the Contributor ID will be an empty string. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 contributors. Each resource in the array contains the full representation of the contributor, meaning additional requests to a contributor's detail view are not necessary. Additionally, the full representation of the user this contributor represents is automatically embedded within the `data` key of the response. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include contributors that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/preprints/y9jdt/contributors/?filter[bibliographic]=true. Contributors may be filtered by their `bibliographic` and `permission` attributes.

Source
actionGETv1.0.0

List all draft registrations

A paginated list of all of the draft registrations of a given node. Draft Registrations contain Registration questions that will become part of the Registration. A Registration is a frozen version of the project that can never be deleted, but can be withdrawn and have it's metadata edited. Your original project remains editable but will now have the draft registration linked to it. #### Permissions Only project administrators may view draft registrations. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 draft registrations. Each resource in the array is a separate draft registration object and contains the full representation of the draft registration, meaning additional requests to a draft registration's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all files

List of all the registration's files/folders for a given storage provider. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of files. Each resource in the array is a separate file object and contains the full representation of the file. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include files that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wucr8/files/osfstorage/?filter[kind]=file Files may be filtered by `id`, `name`, `node`, `kind`, `path`, `provider`, `size`, and `last_touched`.

Source
actionGETv1.0.0

List all forks

A paginated list of the registration’s forks The returned forks are sorted by their `forked_date`, with the most recent forks appearing first. Forking a registration creates a copy of an existing registration and all of its contents. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 forks. If the current registration has no fork, the `data` key will contain an empty array. Each resource in the array is a separate registration object and contains the full representation of the registration's fork. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all forks of this node

A paginated list of the current node's forks. The returned fork nodes are sorted by their `forked_date`, with the most recently forked nodes appearing first. Forking a project creates a copy of an existing node and all of its contents. The fork always points back to the original node, forming a network of nodes. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 forked nodes. If the current node has zero forked nodes, the `data` key will contain an empty array. Each resource in the array is a separate node object and contains the full representation of the forked node, meaning additional requests to the forked node's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error.

Source
actionGETv1.0.0

List all identifiers

List all identifiers associated with a given node. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of identifiers. Each resource in the array is a separate identifier object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/ezcuj/identifiers/?filter[category]=ark Identifiers may be filtered by their `category` e.g `ark` or `doi`.

Source
actionGETv1.0.0

List all identifiers

A paginated list of the registration's identifiers. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of identifiers. Each resource in the array is a separate identifier object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include registrations that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wucr8/identifiers/?filter[category]=ark Identifiers may be filtered by their `category` e.g `ark` or `doi`.

Source
actionGETv1.0.0

List all institutions

A paginated list of all verified institutions. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 institutions. Each resource in the array is a separate institution object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include institutions that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/institutions/?filter[id]=cos. Institutions may be filtered by their `id`, `name`, and `auth_url`

Source
actionGETv1.0.0

List all institutions

List of all institutions affiliated with this node. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 affilited institutions. Each resource in the array is a separate institution object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all institutions

A paginated list of institutions affiliated with the registration. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 affiliated institutions. Each resource in the array is a separate institution object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all institutions

A paginated list of institutions that the user is affiliated with. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 institutions. Each resource in the array is a complete institution object and contains the full representation of the institution, meaning additional requests to a institution's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all licenses

A paginated list of licenses. The returned licenses are sorted by their name. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 licenses. Each resource in the array is a separate license object and contains the full representation of the license, meaning additional requests to a license's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include licenses that match your filters by utilizing the `filter` query parameter, e.g. [https://api.osf.io/v2/licenses/?filter[name]=apache](https://api.osf.io/v2/licenses/?filter[name]=apache). Licenses may be filtered by their `id`, and `name`.

Source
actionGETv1.0.0

List all licenses

A paginated list of the licenses allowed by a preprint provider. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 preprint providers. Each resource in the array is a separate preprint provider object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

List all linked nodes

List of all nodes linked to the given node. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 nodes. Each resource in the array is a separate node object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/?filter[title]=reproducibility. Nodes may be filtered by their `title`, `category`, `description`, `public`, `registration`, or `tags`. `title`, `description`, and `category` are string fields and will be filteres using simple substring matching. `public`, `registration` are boolean and can be filtered using truthy values, such as `true`, `false`, `0`, `1`. `tags` is an array of simple strings.

Source
actionGETv1.0.0

List all linked nodes

List of all nodes linked to the registration. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 nodes. Each resource in the array is a separate node object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wucr8/linked_nodes/?filter[title]=reproducibility/?filter[title]=reproducibility. Nodes may be filtered by their `title`, `category`, `description`, `public`, `registration`, or `tags`. `title`, `description`, and `category` are string fields and will be filteres using simple substring matching. `public`, `registration` are boolean and can be filtered using truthy values, such as `true`, `false`, `0`, `1`. `tags` is an array of simple strings.

Source
actionGETv1.0.0

List All Linked Nodes for a Collection

List of all nodes linked to the given collection. #### Permissions This returns all public nodes associated with this collection. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 nodes. Each resource in the array is a separate node object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List All Linked Preprints for a Collection

List of all preprints linked to the given collection. #### Permissions This returns all public preprints associated with this collection. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 nodes. Each resource in the array is a separate node object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List All Linked Registrations for a Collection

List of all registrations linked to the given collection. #### Permissions This returns all public registrations associated with this collection. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 nodes. Each resource in the array is a separate node object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all logs

A paginated list of all logs associated with a given node. The returned logs are sorted by their `date`, with the most recents logs appearing first. This list includes the logs of the specified node as well as the logs of that node's children to which the current user has read-only access. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 logs. Each resource in the array is a separate logs object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include logs that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/ezcuj/logs/?filter[action]=made_private. Nodes may be filtered by their `action`, and `date`.

Source
actionGETv1.0.0

List all logs

A paginated list of the registration's logs. The returned logs are sorted by their `date`, with the most recents logs appearing first. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 logs. Each resource in the array is a separate logs object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include logs that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wucr8/logs/?filter[action]=made_private. Logs may be filtered by their `action`, and `date`.

Source
actionGETv1.0.0

List all node files

List of all the files/folders that are attached to your project for a given storage provider. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of files. Each resource in the array is a separate file object and contains the full representation of the file. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include files that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/ezcuj/files/osfstorage/?filter[kind]=file Node files may be filtered by `id`, `name`, `node`, `kind`, `path`, `provider`, `size`, and `last_touched`. ### Waterbutler API actions Files can be modified through the Waterbutler API routes found in `links` (`new_folder`, `move`, `upload`, `download`, and `delete`). #### Download (files) To download a file, issue a GET request against the download link. The response will have the Content-Disposition header set, which will will trigger a download in a browser. #### Create Subfolder (folders) You can create a subfolder of an existing folder by issuing a PUT request against the new_folder link. The ?kind=folder portion of the query parameter is already included in the new_folder link. The name of the new subfolder should be provided in the name query parameter. The response will contain a WaterButler folder entity. If a folder with that name already exists in the parent directory, the server will return a 409 Conflict error response. #### Upload New File (folders) To upload a file to a folder, issue a PUT request to the folder's upload link with the raw file data in the request body, and the kind and name query parameters set to 'file' and the desired name of the file. The response will contain a WaterButler file entity that describes the new file. If a file with the same name already exists in the folder, the server will return a 409 Conflict error response. #### Update Existing File (file) To update an existing file, issue a PUT request to the file's upload link with the raw file data in the request body and the kind query parameter set to "file". The update action will create a new version of the file. The response will contain a WaterButler file entity that describes the updated file. #### Rename (files, folders) To rename a file or folder, issue a POST request to the move link with the action body parameter set to "rename" and the rename body parameter set to the desired name. The response will contain either a folder entity or file entity with the new name. #### Move & Copy (files, folders) Move and copy actions both use the same request structure, a POST to the move url, but with different values for the action body parameters. The path parameter is also required and should be the OSF path attribute of the folder being written to. The rename and conflict parameters are optional. If you wish to change the name of the file or folder at its destination, set the rename parameter to the new name. The conflict param governs how name clashes are resolved. Possible values are replace and keep. replace is the default and will overwrite the file that already exists in the target folder. keep will attempt to keep both by adding a suffix to the new file's name until it no longer conflicts. The suffix will be ' (x)' where x is a increasing integer starting from 1. This behavior is intended to mimic that of the OS X Finder. The response will contain either a folder entity or file entity with the new name. Files and folders can also be moved between nodes and providers. The resource parameter is the id of the node under which the file/folder should be moved. It must agree with the path parameter, that is the path must identify a valid folder under the node identified by resource. Likewise, the provider parameter may be used to move the file/folder to another storage provider, but both the resource and path parameters must belong to a node and folder already extant on that provider. Both resource and provider default to the current node and providers. If a moved/copied file is overwriting an existing file, a 200 OK response will be returned. Otherwise, a 201 Created will be returned. #### Delete (file, folders) To delete a file or folder send a DELETE request to the delete link. Nothing will be returned in the response body.

Source
actionGETv1.0.0

List all nodes

A paginated list of nodes, representing projects and components, on the OSF. The returned nodes are those which are public or which the user has access to view. The returned nodes are sorted by their `date_modified`, with the most recently updated nodes appearing first. Registrations cannot be accessed through this endpoint (use the [registrations](#tag/Registrations) endpoints instead). #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 nodes. Each resource in the array is a separate node object and contains the full representation of the node, meaning additional requests to a node's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/?filter[title]=reproducibility. Nodes may be filtered by their `id`, `title`, `category`, `description`, `public`, `tags`, `date_created`, `date_modified`, `root`, `parent`, `preprint`, and `contributors`. Most fields are string fields and will be filtered using simple substring matching. Public and preprint are boolean fields, and can be filtered using truthy values, such as **true**, **false**, **0** or **1**. Note that quoting true or false in the query will cause the match to fail.

Source
actionGETv1.0.0

List all nodes

A paginated list of nodes that the user is a contributor to. The returned nodes are sorted by their `date_modified`, with the most recently updated nodes appearing first. If the user ID in the path is the same as the logged-in user, all nodes will be returned. Otherwise, only the user's public nodes will be returned. User registrations are not available at this endpoint. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 nodes. Each resource in the array is a separate node object and contains the full representation of the node, meaning additional requests to a node's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/users/cdi38/nodes/?filter[title]=open. Nodes may be filtered by their `id`, `title`, `category`, `description`, `public`, `tags`, `date_created`, `date_modified`, `root`, `parent`, `preprint`, and `contributors`.

Source
actionGETv1.0.0

List all nodes

The list of nodes which this view only link gives read-only access to. #### Permissions Only project administrators may retrieve the nodes of a view only link. Attempting to retrieve a view only link without appropriate permissions will result in a 403 Forbidden response. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 nodes. Each resource in the array is a separate node object and contains the full representation of the node, meaning additional requests to a node's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

List all preprint providers

A paginated list of all preprint providers. The returned preprint providers are sorted by their creation date, with the most recent preprints appearing first. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 preprint providers. Each resource in the array is a separate preprint provider object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include preprint providers that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/preprint_providers/?filter[id]=osf. Preprint Providers may be filtered by their `id`, `name`, and `description`

Source
actionGETv1.0.0

List all preprints

A paginated list of preprints related to a given node. The returned preprints are sorted by their creation date, with the most recent preprints appearing first. **Note: This API endpoint is under active development, and is subject to change in the future.** #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 preprints. Each resource in the array is a separate preprint object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

List all preprints

A paginated list of preprints from the specified preprint provider. The returned preprints are sorted by their creation date, with the most recent preprints appearing first. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 preprints. Each resource in the array is a separate preprint object. The `links` key contains a dictionary with keys that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Filtering You can optionally request that the response only include preprints that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/preprint_providers/osf/preprints/?filter[is_published]=true. Preprints may be filtered by their `id`, `is_published`, `date_created`, `date_modified`, and `provider`.

Source
actionGETv1.0.0

List all preprints

A paginated list of preprints from all preprint providers. The returned preprints are sorted by their creation date, with the most recent preprints appearing first. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 preprints. Each resource in the array is a separate preprint object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include preprints that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/preprints/?filter[provider]=socarxiv. Preprints may be filtered by their `id`, `is_published`, `date_created`, `date_modified`, and `provider`.

Source
actionGETv1.0.0

List all preprints

A paginated list of preprints that the user contributes to. The returned preprints are sorted by their creation date, with the most recent preprints appearing first. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 preprints. Each resource in the array is a complete preprint object and contains the full representation of the preprint, meaning additional requests to a preprint's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include preprints that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/users/cdi38/preprints/?filter[provider]=psyarxiv. Preprints may be filtered by their `id`, `is_published`, `date_created`, `date_modified`, and `provider`.

Source
actionGETv1.0.0

List all registrations

List of all registrations of the given node. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 registrations. Each resource in the array is a separate registrations object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include registrations that match your filters by utilizing the filter query parameter, e.g. https://api.osf.io/v2/registrations/?filter[title]=open. Registrations may be filtered by their `id`, `title`, `category`, `description`, `public`, `tags`, `date_created`, `date_modified`, `root`, `parent`, and `contributors`.

Source
actionGETv1.0.0

List all registrations

A paginated list of registrations on the OSF to which the user has access. The returned registrations are those which are public or which the user has access to view. Non-registered nodes cannot be accessed through this endpoint (use the [nodes](#Nodes_nodes_list) endpoints instead). #### Registrations A registration on the OSF creates a frozen, time-stamped version of a project that cannot be edited or deleted. The *original project* can still be edited, while the registered version cannot. Registrations can be made public immediately or embargoed for up to 4 years. #### Withdrawals Registrations cannot be deleted, but they can be withdrawn. Withdrawing a registration removes the content of the registration but leaves behind basic metadata. A withdrawn registration will display a limited subset of information, namely, title, description, date_created, date_registered, date_withdrawn, registration, withdrawn, withdrawal_justification, and registration supplement. All other fields will be displayed as null. Additionally, the only relationship that remains accesible for a withdrawn registration is the contributors. All other relationships will return a **403 Forbidden** response. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 registrations. Each resource in the array is a separate registration object and contains the full representation of the registration, meaning additional requests to a registration's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include registrations that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/?filter[title]=open. Registrations may be filtered by their `id`, `title`, `category`, `description`, `public`, `tags`, `date_created`, `date_modified`, `root`, `parent`, and `contributors`.

Source
actionGETv1.0.0

List all registrations

A paginated list of registrations that the user is a contributor to. The returned registrations are sorted by their `date_modified`, with the most recently updated registrations appearing first. If the user ID in the path is the same as the logged-in user, all registrations will be returned. Otherwise, only the user's public registrations will be returned. User nodes are not available at this endpoint. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 registrations. Each resource in the array is a separate registration object and contains the full representation of the registration, meaning additional requests to a registration's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Filtering You can optionally request that the response only include registrations that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/users/cdi38/registrations/?filter[title]=replication. Registrations may be filtered by their `id`, `title`, `category`, `description`, `public`, `tags`, `date_created`, `date_modified`, `root`, `parent`, and `contributors`.

Source
actionGETv1.0.0

List all storage providers

List of all storage providers that are configured for this node Users of the OSF may access their data on a [number of cloud-storage services](https://api.osf.io/v2/#storage-providers) that have integrations with the OSF. We call these **providers**. By default, every node has access to the OSF-provided storage but may use as many of the supported providers as desired. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of files. Each resource in the array is a separate file object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). Note: In the OSF filesystem model, providers are treated as folders, but with special properties that distinguish them from regular folders. Every provider folder is considered a root folder, and may not be deleted through the regular file API.

Source
actionGETv1.0.0

List all storage providers

A paginated list of storage providers enabled on the registration Users of the OSF may access their data on a [number of cloud-storage services](https://api.osf.io/v2/#storage-providers) that have integrations with the OSF. We call these **providers**. By default, every node has access to the OSF-provided storage but may use as many of the supported providers as desired. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 files. Each resource in the array is a separate file object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). Note: In the OSF filesystem model, providers are treated as folders, but with special properties that distinguish them from regular folders. Every provider folder is considered a root folder, and may not be deleted through the regular file API.

Source
actionGETv1.0.0

List all taxonomies

A paginated list of the taxonomies for a preprint provider. The returned preprint providers taxonomies are sorted by their creation date, with the most recent preprints appearing first. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 preprint providers. Each resource in the array is a separate preprint provider object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

List all taxonomies

A paginated list of all [bepress disciplines taxonomies](https://www.bepress.com/wp-content/uploads/2016/12/Digital-Commons-Disciplines-taxonomy-2017-01.pdf). Note: this API endpoint is under active development, and is subject to change in the future. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 taxonomies. Each resource in the array is a separate taxonomy object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include taxonomies that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/taxonomies/?filter['id']='{taxonomy_id}'. Taxonomies may be filtered by their `id`, `parents`, and `text`.

Source
actionGETv1.0.0

List all user addons

A paginated list of authorized user addons #### Permissions User addons are visible only to the user that authorized the addon. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 addons. Each resource in the array is a separate addon object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. Attempting to request the accounts for an addon that is not enabled will result in a **404 Not Found** response.

Source
actionGETv1.0.0

List all users

A paginated list of all users registered on the OSF. The returned users are sorted by their `date_registered`, with the most recently registered users appearing first. The subroute `/users/me/` is a special endpoint that always points to the currently logged-in user. #### Versioning As of version `2.3`, merged users will not be returned from this endpoint. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of 10 users. Each resource in the array is a separate users object and contains the full representation of the user, meaning additional requests to a user's detail view are not necessary. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). This request should never return an error. #### Filtering You can optionally request that the response only include nodes that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/users/?filter[family_name]=Nosek. Users may be filtered by their `id`, `full_name`, `given_name`, `middle_name`, or `family_name`.

Source
actionGETv1.0.0

List all view only links

List of view only links on a node. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 view only links. Each resource in the array is a view only link object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Permissions View only links on a node, public or private, are readable and writeable only by users that are administrators on the node. #### Filtering You can optionally request that the response only include view only links that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/nodes/ezcuj/view_only_links/?filter[anonymous]=true. View Only Links may be filtered based on their `name`, `anonymous` and `date_created` fields. Possible comparison operators include 'gt' (greater than), 'gte'(greater than or equal to), 'lt' (less than) and 'lte' (less than or equal to). The date must be in the format YYYY-MM-DD and the time is optional.

Source
actionGETv1.0.0

List all view only links

A paginated list of view only links created for this registration. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of up to 10 view only links. Each resource in the array is a view only link object. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Permissions View only links on a registration, public or private, are readable and writeable only by users that are administrators on the registration. #### Filtering You can optionally request that the response only include view only links that match your filters by utilizing the `filter` query parameter, e.g. https://api.osf.io/v2/registrations/wu3a4/view_only_links/?filter[anonymous]=true. View Only Links may be filtered based on their `name`, `anonymous` and `date_created` fields. Possible comparison operators include 'gt' (greater than), 'gte'(greater than or equal to), 'lt' (less than) and 'lte' (less than or equal to). The date must be in the format YYYY-MM-DD and the time is optional.

Source
actionGETv1.0.0

List all wikis

List of wiki pages on a node. #### Returns Paginated list of the node's current wiki page versions ordered by their date_modified. Each resource contains the full representation of the wiki, meaning additional requests to an individual wiki's detail view are not necessary. Note that if an anonymous view_only key is being used, the user relationship will not be exposed. If the request is unsuccessful, a JSON object with an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Filtering Wiki pages can be filtered based on their `name` and `date_modified` fields. + `filter[name]=<Str>` -- filter wiki pages by name + `filter[date_modified][comparison_operator]=YYYY-MM-DDTH:M:S` -- filter wiki pages based on date modified. Possible comparison operators include 'gt' (greater than), 'gte'(greater than or equal to), 'lt' (less than) and 'lte' (less than or equal to). The date must be in the format YYYY-MM-DD and the time is optional.

Source
actionGETv1.0.0

List all wikis

A paginated list of the registration's wiki pages #### Returns A list of all registration's current wiki page versions ordered by their date_modified. Each resource contains the full representation of the wiki, meaning additional requests to an individual wiki's detail view are not necessary. If the request is unsuccessful, a JSON object with an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Filtering Wiki pages can be filtered based on their `name` and `date_modified` fields. + `filter[name]=<Str>` -- filter wiki pages by name + `filter[date_modified][comparison_operator]=YYYY-MM-DDTH:M:S` -- filter wiki pages based on date modified. Possible comparison operators include 'gt' (greater than), 'gte'(greater than or equal to), 'lt' (less than) and 'lte' (less than or equal to). The date must be in the format YYYY-MM-DD and the time is optional.

Source
actionGETv1.0.0

Retreive a Contributor from a Draft Registration

Retrieves the details of a given contributor. Contributors are users who can view or edit to the Draft Registrations. Contributors are categorized as either "bibliographic" or "non-bibliographic". From a permissions standpoint, both are the same, but bibliographic contributors are included in citations and are listed on the project overview page on the OSF, while non-bibliographic contributors are not.

Source
actionGETv1.0.0

Retrieve a citation

Retrieves the citation style details for a registration, in CSL format. #### Returns Returns a JSON object with a `data` key that contains the representation of the details necessary for the citation style.

Source
actionGETv1.0.0

Retrieve a citation style

Retrieves the details of a citation style. #### Returns Returns a JSON object with a `data` key containing the representation of the requested citation style, if the request is successful. #### Errors If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a Collection

Retrieves a collection, if the user has appropriate permissions. #### Permissions Anonymous users are able to see all public collections at this endpoint. Logged in users will only be able to see their own content. #### Returns Returns a JSON object containing `data` and `links` keys. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

Retrieve a comment

Retrieves the details of a comment #### Returns Returns a JSON object with a `data` key containing the representation of the requested comment, if the request was successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a contributor

Retrieves the details of a given contributor. Contributors are users who can make changes to the node or, in the case of private nodes, have read access to the node. Contributors are categorized as either "bibliographic" or "non-bibliographic". From a permissions standpoint, both are the same, but bibliographic contributors are included in citations and are listed on the project overview page on the OSF, while non-bibliographic contributors are not. #### Returns Returns a JSON object with a `data` key containing the representation of the requested contributor, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a contributor

Retrieves the details of a contributor on this Preprint. Contributors are categorized as either "bibliographic" or "non-bibliographic". From a permissions standpoint, both are the same, but bibliographic contributors are included in citations and are listed on the project overview page on the OSF, while non-bibliographic contributors are not. Note that if an anonymous view_only key is being used to view the list of contributors, the user relationship will not be exposed and the contributor ID will be an empty string. #### Returns Returns a JSON object with a `data` key containing the representation of the requested contributor, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a contributor

Retrieves the details of a contributor on this registration. #### Returns Returns a JSON object with a `data` key containing the representation of the requested contributor, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a Draft Registration

Retrieve the details of a given Draft Registration Draft Registrations contain Registration questions that will become part of the Registration. A Registration is a frozen version of the project that can never be deleted, but can be withdrawn and have it's metadata edited. If you based your Draft Registration on a Project, your original Project remains editable but will now have the Draft Registration linked to it. #### Permissions Only draft registration contributors may view draft registrations. #### Returns Returns a JSON object with a `data` key containing the representation of the requested draft registration, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a Draft Registration

Retrieve the details of a given draft registration. Draft Registrations contain Registration questions that will become part of the Registration. A Registration is a frozen version of the project that can never be deleted, but can be withdrawn and have it's metadata edited. Your original project remains editable but will now have the draft registration linked to it. #### Permissions Only project administrators may view draft registrations. #### Returns Returns a JSON object with a `data` key containing the representation of the requested draft registration, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a file

Retrieves the details of a file (or folder) #### Returns Returns a JSON object with a `data` key containing the representation of the requested file, if the request was successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. ### Waterbutler API actions Files can be modified through the Waterbutler API routes found in `links` (`new_folder`, `move`, `upload`, `download`, and `delete`). #### Download (files) To download a file, issue a GET request against the download link. The response will have the Content-Disposition header set, which will will trigger a download in a browser. #### Create Subfolder (folders) You can create a subfolder of an existing folder by issuing a PUT request against the new_folder link. The ?kind=folder portion of the query parameter is already included in the new_folder link. The name of the new subfolder should be provided in the name query parameter. The response will contain a WaterButler folder entity. If a folder with that name already exists in the parent directory, the server will return a 409 Conflict error response. #### Upload New File (folders) To upload a file to a folder, issue a PUT request to the folder's upload link with the raw file data in the request body, and the kind and name query parameters set to 'file' and the desired name of the file. The response will contain a WaterButler file entity that describes the new file. If a file with the same name already exists in the folder, the server will return a 409 Conflict error response. #### Update Existing File (file) To update an existing file, issue a PUT request to the file's upload link with the raw file data in the request body and the kind query parameter set to "file". The update action will create a new version of the file. The response will contain a WaterButler file entity that describes the updated file. #### Rename (files, folders) To rename a file or folder, issue a POST request to the move link with the action body parameter set to "rename" and the rename body parameter set to the desired name. The response will contain either a folder entity or file entity with the new name. #### Move & Copy (files, folders) Move and copy actions both use the same request structure, a POST to the move url, but with different values for the action body parameters. The path parameter is also required and should be the OSF path attribute of the folder being written to. The rename and conflict parameters are optional. If you wish to change the name of the file or folder at its destination, set the rename parameter to the new name. The conflict param governs how name clashes are resolved. Possible values are replace and keep. replace is the default and will overwrite the file that already exists in the target folder. keep will attempt to keep both by adding a suffix to the new file's name until it no longer conflicts. The suffix will be ' (x)' where x is a increasing integer starting from 1. This behavior is intended to mimic that of the OS X Finder. The response will contain either a folder entity or file entity with the new name. Files and folders can also be moved between nodes and providers. The resource parameter is the id of the node under which the file/folder should be moved. It must agree with the path parameter, that is the path must identify a valid folder under the node identified by resource. Likewise, the provider parameter may be used to move the file/folder to another storage provider, but both the resource and path parameters must belong to a node and folder already extant on that provider. Both resource and provider default to the current node and providers. If a moved/copied file is overwriting an existing file, a 200 OK response will be returned. Otherwise, a 201 Created will be returned. #### Delete (file, folders) To delete a file or folder send a DELETE request to the delete link. Nothing will be returned in the response body.

Source
actionGETv1.0.0

Retrieve a file

Retrieves the details of a file attached to given node (project or component) for the given storage provider. #### Returns Returns a JSON object with a `data` key containing the representation of the requested file object, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a file

Retrieves the details of a registration file for the given storage provider. #### Returns Returns a JSON object with a `data` key containing the representation of the requested registration file object, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a license

Retrieves the details of a license. #### Returns Returns a JSON object with a `data` key containing the representation of the requested license, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a list of collected metadata for a collection

List of user created metadata for entities within a collection. #### Permissions In order to view this metadata it must be public or a user must have read permissions for collection. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of nodes ids. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Errors This request should never return an error.

Source
actionGETv1.0.0

Retrieve a list of Draft Registrations

Retrieve a list of all currently available Draft Registrations for that user. #### Permissions Only Draft Registration contributors may view draft registrations. #### Returns Returns a JSON object with a `data` key containing the representation of the requested draft registration, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a log

Retrieves the details of a log. A log is permanent immutable record of a node's history. A log is created when a user performs one of many actions. See the [actions](#Logs_logs_actions) section for more details. #### Returns Returns a JSON object with a `data` key containing the representation of the requested log, if the request was successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a node

Retrieves the details of a given node (project or component). #### Permissions Only project contributors may retrieve the details of a private node. Attempting to retreive a private node for which you are not a contributor will result in a **403 Forbidden** response. Authentication is not required to view the details of a public node, as public nodes give read-only access to everyone. #### Returns Returns a JSON object with a `data` key containing the representation of the requested node, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a preprint

Retrieves the details of a preprint. #### Returns Returns a JSON object with a `data` key containing the representation of the requested preprint, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a preprint provider

Retrieves the details of a preprint provider. #### Returns Returns a JSON object with a `data` key containing the representation of the requested preprint provider, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Acceptable Subjects Structure Each preprint provider specifies acceptable subjects. `subjects_acceptable` is an array found in `attributes`. Subjects consist of general parent subjects (e.g., Engineering), more specific child subjects (e.g., Aerospace Engineering), and even more specific grandchild subjects (e.g., Aerodynamics and Fluid Mechanics). Subjects can only be nested 3 deep. "subjects_acceptable": [ [ [ # Parent Subject: # Architecture "584240d954be81056ceca9e5", # Child Subject: # Architectural Engineering "584240da54be81056cecac87" ], # Include all Architectural Engineering's children: true ], [ [ # Parent Subject: # Engineering "584240da54be81056cecaca9", # Child Subject: # Aerospace Engineering "584240db54be81056cecacd6", # Grandchild Subject: # Aerodynamics and Fluid Mechanics "584240da54be81056cecaa74" ], # All nestings 3 deep must be false false ] ] The above structure would allow Architecture, Architectural Engineering, all of Architectural Engineering's children, Engineering, Aerospace Engineering, and Aerodynamics and Fluid Mechanics.

Source
actionGETv1.0.0

Retrieve a registration

Retrieve the details of a given registration. #### Permissions Only project contributors may retrieve the details of a registration that is embargoed, or has not yet been made public. Attempting to retrieve a private registration for which you are not a contributor will result in a **403 Forbidden** response. Authentication is not required to view the details of a public registration, as public registrations give read-only access to everyone. #### Registrations A registration on the OSF creates a frozen, time-stamped version of a project that cannot be edited or deleted. The *original project* can still be edited, while the registered version cannot. Registrations can be made public immediately or embargoed for up to 4 years. #### Withdrawals Registrations cannot be deleted, but they can be withdrawn. Withdrawing a registration removes the content of the registration but leaves behind basic metadata. A withdrawn registration will display a limited subset of information, namely, title, description, date_created, date_registered, date_withdrawn, registration, withdrawn, withdrawal_justification, and registration supplement. All other fields will be displayed as null. Additionally, the only relationship that remains accesible for a withdrawn registration is the contributors. All other relationships will return a **403 Forbidden** response. #### Returns Returns a JSON object with a `data` key containing the representation of the requested registration, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a storage provider

Retrieves the details of a storage provider enabled on this node. #### Returns Returns a JSON object with a `data` key containing the representation of the requested file object, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a styled citation

The citation for a node in a specific style. #### Returns Returns a JSON object with a `data` key that contains the representation of the node citation, in the requested style.

Source
actionGETv1.0.0

Retrieve a styled citation

The citation for a preprint in a specific style. #### Returns Returns a JSON object with a `data` key that contains the representation of the preprint citation, in the requested style.

Source
actionGETv1.0.0

Retrieve a taxonomy

Retrieves the details of a taxonomy. #### Returns Returns a JSON object with a `data` key containing the representation of the requested taxonomy, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a user

Retrieves the details of a given users. The returned information includes the user's bibliographic information and the date the user was registered. Additionally, relationships to the list of institutions with which the user is affiliated, and to the list of nodes which the user contributes to (that the requesting user has permission to see) are returned. If `me` is given as the `user_id` in the request path, the record of the currently logged-in user will be returned. #### Returns Returns a JSON object with a `data` key containing the representation of the requested user, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve a user addon

Retrieves the details of an authorized user addon #### Permissions User addons are visible only to the user that authorized the addon. #### Returns Returns a JSON object with a `data` key containing the representation of the requested user addon, if the request was successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. Attempting to request the accounts for an addon that is not enabled will result in a **404 Not Found** response.

Source
actionGETv1.0.0

Retrieve a view only link

Retrieves the details of a view only link on a node. #### Returns Returns a JSON object with a `data` key containing the representation of the requested view only link, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Permissions View only links on a node, public or private, are readable and writeable only by users that are administrators on the node.

Source
actionGETv1.0.0

Retrieve a view only link

Retrieves the details of a view only link created from this registration. #### Returns Returns a JSON object with a `data` key containing the representation of the requested view only link, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed. #### Permissions View only links on a registration, public or private, are readable and writeable only by users that are administrators on the registration.

Source
actionGETv1.0.0

Retrieve a view only link

Retrieves details about a specific view only link. #### Permissions Only project administrators may retrieve the details of a view only link. Attempting to retrieve a view only link without appropriate permissions will result in a 403 Forbidden response. #### Returns Returns a JSON object with a `data` key containing the representation of the requested view only link, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve an addon

Retrieve details of an individual addon connected to this node. #### Permissions NodeSettings that are attached to public nodes will give read-only access to everyone. Private nodes require explicit read permission. Write and admin access are the same for public and private nodes. Administrators on a parent node have implicit read permissions for all child nodes. Any users with write or admin access to the node are able to deauthorize an enabled addon, but only the addon authorizer is able to change the configuration (i.e. selected folder) of an already-configured NodeSettings entity. #### Returns Returns a JSON object with a `data` key containing the details of the requested addon, if the request is successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve an addon account

Retrieves the details of an addon account #### Permissions Addon accounts are visible only to the user that authorized the account. #### Returns Returns a JSON object with a `data` key containing the representation of the requested addon account, if the request was successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve an institution

Retrieves the details of an institution #### Returns Returns a JSON object with a `data` key containing the representation of the requested institution, if the request was successful. If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

Source
actionGETv1.0.0

Retrieve citation details

The citation details for a node, in CSL format. #### Returns Returns a JSON object with a `data` key that contains the representation of the details necessary for the node citation.

Source
actionGETv1.0.0

Retrieve citation details

The citation details for a preprint, in CSL format. #### Returns Returns a JSON object with a `data` key that contains the representation of the details necessary for the preprint citation.

Source
actionGETv1.0.0

Retrieve Specific Metadata for a Collection

#### Permissions In order to view this metadata it must be public or a user must have read permissions for collection. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of nodes ids. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Errors This request should never return an error.

Source
actionGETv1.0.0

Retrieve subject data for a specific piece of metadata info for a collection

#### Permissions In order to view these subject it must be a public collection or a user must have read permissions for collection. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of nodes ids. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination). #### Errors This request should never return an error, other then permissions errors.

Source
actionGETv1.0.0

Retrieve subject metadata for a specific piece of metadata in a collection

#### Permissions This is public for a logged out user when an entity is public. #### Returns Returns a JSON object containing `data` and `links` keys. The `data` key contains an array of nodes ids. The `links` key contains a dictionary of links that can be used for [pagination](#tag/Pagination).

Source
actionGETv1.0.0

Retrieve Subjects associated with a Draft Registration

This retrieves a list of subjects associated with a Draft Registration. Subjects are formatted here in a flat paginated list, but are hierarchical and nested by specificity of subject matter.

Source
actionGETv1.0.0

Retrieve the Content of a Wiki

Retrieves the plaintext content of a wiki in markdown format. #### Returns Returns `text/markdown` of the wiki content itself. If the request is unsuccessful, plaintext with the error message will be displayed.

Source
Beyond the catalog

Any provider, on request.

01

Request it

Tell us which provider you need, and we will ship it in the registry.

02

Generate it

Point swirls add at an OpenAPI or GraphQL spec. Typed actions for any API you hold credentials for, today.

acme · integrations
terminal
~/acme $swirls add linear
✓ 12 typed actions · scopes and schemas included
 
~/acme $swirls add https://api.acme.dev/openapi.json
◆ Fetched spec · 38 operations
✓ 6 typed actions · generated from spec