Metadata-Version: 2.4
Name: figshare-oai-pmh
Version: 1.0.4
Summary: Figshare API v2 Python client with CLI
Author: Billsfriend
License: Apache-2.0
Project-URL: Homepage, https://gitee.com/Billsfriend/figshare_oai_pmh
Project-URL: Repository, https://gitee.com/Billsfriend/figshare_oai_pmh
Keywords: figshare,openapi,api-client,cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: urllib3<3.0.0,>=1.25.3
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2
Requires-Dist: typing-extensions>=4.7.1
Requires-Dist: tqdm>=4.0.0
Dynamic: license-file

# figshare-oai-pmh

[![PyPI - Version](https://img.shields.io/pypi/v/figshare-oai-pmh)](https://pypi.org/project/figshare-oai-pmh/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/figshare-oai-pmh)](https://pypi.org/project/figshare-oai-pmh/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/figshare-oai-pmh)](https://pypi.org/project/figshare-oai-pmh/)

Python client for the [Figshare API v2](https://docs.figshare.com) with a
feature-rich command-line interface.

The library (`openapi_client` Python package) is **auto-generated** by
[OpenAPI Generator](https://openapi-generator.tech) v7.9.0 and provides full
coverage of the Figshare REST API (articles, collections, projects, authors,
institutions, etc.).

On top of the generated client, this project adds a **hand-written CLI**
(`figshare` command) for common tasks:

- Fetch article metadata (JSON or TSV)
- Download files by ID, by article, or in batch from a TSV file
- Upload files to articles
- MD5 verification and progress bars

**NOTE:** Do not edit files under `openapi_client/`, `test/`, or `docs/` by
hand — regenerate from the OpenAPI spec instead.

- API version: 2.0
- Package version: 1.0.3

## Requirements

Python 3.8+

## Installation

### From PyPI

```sh
pip install figshare-oai-pmh
```

### From source (Gitee)

```sh
pip install git+https://gitee.com/Billsfriend/figshare_oai_pmh.git
```

### Editable (development)

```sh
git clone https://gitee.com/Billsfriend/figshare_oai_pmh.git
cd figshare_oai_pmh
pip install -e .
```

The package is then importable as `openapi_client`:

```python
import openapi_client
```

### Tests

```sh
pytest
```

### CLI

A `figshare` command-line tool is installed as a console script.  Auth via
`--token` flag or `FIGSHARE_TOKEN` environment variable.

```sh
figshare metadata 123456                         # article metadata (JSON)
figshare metadata 123456 --files                 # file list as TSV
figshare download 789                            # single file by ID
figshare download 789 --article 123456           # with filename + MD5 check
figshare download --all 123456                   # all files in an article
figshare download --tsv files.tsv                # batch from TSV file
figshare metadata 123456 -f | figshare download --tsv -   # pipe TSV
figshare upload 123456 ~/paper.pdf               # upload (requires --token)
```

Run `figshare --help` for full usage.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import openapi_client
from openapi_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.figshare.com/v2
# See configuration.py for a list of all supported configuration parameters.
configuration = openapi_client.Configuration(
    host = "https://api.figshare.com/v2"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

configuration.access_token = os.environ["ACCESS_TOKEN"]


# Enter a context with an instance of the API client
with openapi_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = openapi_client.ArticlesApi(api_client)
    article_id = 56 # int | Article unique identifier

    try:
        # Private Article Publish
        api_response = api_instance.account_article_publish(article_id)
        print("The response of ArticlesApi->account_article_publish:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ArticlesApi->account_article_publish: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.figshare.com/v2*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*ArticlesApi* | [**account_article_publish**](docs/ArticlesApi.md#account_article_publish) | **POST** /account/articles/{article_id}/publish | Private Article Publish
*ArticlesApi* | [**account_article_report**](docs/ArticlesApi.md#account_article_report) | **GET** /account/articles/export | Account Article Report
*ArticlesApi* | [**account_article_report_generate**](docs/ArticlesApi.md#account_article_report_generate) | **POST** /account/articles/export | Initiate a new Report
*ArticlesApi* | [**account_article_unpublish**](docs/ArticlesApi.md#account_article_unpublish) | **POST** /account/articles/{article_id}/unpublish | Public Article Unpublish
*ArticlesApi* | [**article_details**](docs/ArticlesApi.md#article_details) | **GET** /articles/{article_id} | View article details
*ArticlesApi* | [**article_file_details**](docs/ArticlesApi.md#article_file_details) | **GET** /articles/{article_id}/files/{file_id} | Article file details
*ArticlesApi* | [**article_files**](docs/ArticlesApi.md#article_files) | **GET** /articles/{article_id}/files | List article files
*ArticlesApi* | [**article_version_confidentiality**](docs/ArticlesApi.md#article_version_confidentiality) | **GET** /articles/{article_id}/versions/{version_id}/confidentiality | Public Article Confidentiality for article version
*ArticlesApi* | [**article_version_details**](docs/ArticlesApi.md#article_version_details) | **GET** /articles/{article_id}/versions/{version_id} | Article details for version
*ArticlesApi* | [**article_version_embargo**](docs/ArticlesApi.md#article_version_embargo) | **GET** /articles/{article_id}/versions/{version_id}/embargo | Public Article Embargo for article version
*ArticlesApi* | [**article_version_files**](docs/ArticlesApi.md#article_version_files) | **GET** /articles/{article_id}/versions/{version_id}/files | Public Article version files
*ArticlesApi* | [**article_version_partial_update**](docs/ArticlesApi.md#article_version_partial_update) | **PATCH** /account/articles/{article_id}/versions/{version_id} | Partially update article version
*ArticlesApi* | [**article_version_update**](docs/ArticlesApi.md#article_version_update) | **PUT** /account/articles/{article_id}/versions/{version_id} | Update article version
*ArticlesApi* | [**article_version_update_thumb**](docs/ArticlesApi.md#article_version_update_thumb) | **PUT** /account/articles/{article_id}/versions/{version_id}/update_thumb | Update article version thumbnail
*ArticlesApi* | [**article_versions**](docs/ArticlesApi.md#article_versions) | **GET** /articles/{article_id}/versions | List article versions
*ArticlesApi* | [**articles_list**](docs/ArticlesApi.md#articles_list) | **GET** /articles | Public Articles
*ArticlesApi* | [**articles_search**](docs/ArticlesApi.md#articles_search) | **POST** /articles/search | Public Articles Search
*ArticlesApi* | [**private_article_author_delete**](docs/ArticlesApi.md#private_article_author_delete) | **DELETE** /account/articles/{article_id}/authors/{author_id} | Delete article author
*ArticlesApi* | [**private_article_authors_add**](docs/ArticlesApi.md#private_article_authors_add) | **POST** /account/articles/{article_id}/authors | Add article authors
*ArticlesApi* | [**private_article_authors_list**](docs/ArticlesApi.md#private_article_authors_list) | **GET** /account/articles/{article_id}/authors | List article authors
*ArticlesApi* | [**private_article_authors_replace**](docs/ArticlesApi.md#private_article_authors_replace) | **PUT** /account/articles/{article_id}/authors | Replace article authors
*ArticlesApi* | [**private_article_categories_add**](docs/ArticlesApi.md#private_article_categories_add) | **POST** /account/articles/{article_id}/categories | Add article categories
*ArticlesApi* | [**private_article_categories_list**](docs/ArticlesApi.md#private_article_categories_list) | **GET** /account/articles/{article_id}/categories | List article categories
*ArticlesApi* | [**private_article_categories_replace**](docs/ArticlesApi.md#private_article_categories_replace) | **PUT** /account/articles/{article_id}/categories | Replace article categories
*ArticlesApi* | [**private_article_category_delete**](docs/ArticlesApi.md#private_article_category_delete) | **DELETE** /account/articles/{article_id}/categories/{category_id} | Delete article category
*ArticlesApi* | [**private_article_confidentiality_delete**](docs/ArticlesApi.md#private_article_confidentiality_delete) | **DELETE** /account/articles/{article_id}/confidentiality | Delete article confidentiality
*ArticlesApi* | [**private_article_confidentiality_details**](docs/ArticlesApi.md#private_article_confidentiality_details) | **GET** /account/articles/{article_id}/confidentiality | Article confidentiality details
*ArticlesApi* | [**private_article_confidentiality_update**](docs/ArticlesApi.md#private_article_confidentiality_update) | **PUT** /account/articles/{article_id}/confidentiality | Update article confidentiality
*ArticlesApi* | [**private_article_create**](docs/ArticlesApi.md#private_article_create) | **POST** /account/articles | Create new Article
*ArticlesApi* | [**private_article_delete**](docs/ArticlesApi.md#private_article_delete) | **DELETE** /account/articles/{article_id} | Delete article
*ArticlesApi* | [**private_article_details**](docs/ArticlesApi.md#private_article_details) | **GET** /account/articles/{article_id} | Article details
*ArticlesApi* | [**private_article_download**](docs/ArticlesApi.md#private_article_download) | **GET** /account/articles/{article_id}/download | Private Article Download
*ArticlesApi* | [**private_article_embargo_delete**](docs/ArticlesApi.md#private_article_embargo_delete) | **DELETE** /account/articles/{article_id}/embargo | Delete Article Embargo
*ArticlesApi* | [**private_article_embargo_details**](docs/ArticlesApi.md#private_article_embargo_details) | **GET** /account/articles/{article_id}/embargo | Article Embargo Details
*ArticlesApi* | [**private_article_embargo_update**](docs/ArticlesApi.md#private_article_embargo_update) | **PUT** /account/articles/{article_id}/embargo | Update Article Embargo
*ArticlesApi* | [**private_article_file**](docs/ArticlesApi.md#private_article_file) | **GET** /account/articles/{article_id}/files/{file_id} | Single File
*ArticlesApi* | [**private_article_file_delete**](docs/ArticlesApi.md#private_article_file_delete) | **DELETE** /account/articles/{article_id}/files/{file_id} | File Delete
*ArticlesApi* | [**private_article_files_list**](docs/ArticlesApi.md#private_article_files_list) | **GET** /account/articles/{article_id}/files | List article files
*ArticlesApi* | [**private_article_partial_update**](docs/ArticlesApi.md#private_article_partial_update) | **PATCH** /account/articles/{article_id} | Partially update article
*ArticlesApi* | [**private_article_private_link**](docs/ArticlesApi.md#private_article_private_link) | **GET** /account/articles/{article_id}/private_links | List private links
*ArticlesApi* | [**private_article_private_link_create**](docs/ArticlesApi.md#private_article_private_link_create) | **POST** /account/articles/{article_id}/private_links | Create private link
*ArticlesApi* | [**private_article_private_link_delete**](docs/ArticlesApi.md#private_article_private_link_delete) | **DELETE** /account/articles/{article_id}/private_links/{link_id} | Disable private link
*ArticlesApi* | [**private_article_private_link_update**](docs/ArticlesApi.md#private_article_private_link_update) | **PUT** /account/articles/{article_id}/private_links/{link_id} | Update private link
*ArticlesApi* | [**private_article_reserve_doi**](docs/ArticlesApi.md#private_article_reserve_doi) | **POST** /account/articles/{article_id}/reserve_doi | Private Article Reserve DOI
*ArticlesApi* | [**private_article_reserve_handle**](docs/ArticlesApi.md#private_article_reserve_handle) | **POST** /account/articles/{article_id}/reserve_handle | Private Article Reserve Handle
*ArticlesApi* | [**private_article_resource**](docs/ArticlesApi.md#private_article_resource) | **POST** /account/articles/{article_id}/resource | Private Article Resource
*ArticlesApi* | [**private_article_update**](docs/ArticlesApi.md#private_article_update) | **PUT** /account/articles/{article_id} | Update article
*ArticlesApi* | [**private_article_upload_complete**](docs/ArticlesApi.md#private_article_upload_complete) | **POST** /account/articles/{article_id}/files/{file_id} | Complete Upload
*ArticlesApi* | [**private_article_upload_initiate**](docs/ArticlesApi.md#private_article_upload_initiate) | **POST** /account/articles/{article_id}/files | Initiate Upload
*ArticlesApi* | [**private_articles_list**](docs/ArticlesApi.md#private_articles_list) | **GET** /account/articles | Private Articles
*ArticlesApi* | [**private_articles_search**](docs/ArticlesApi.md#private_articles_search) | **POST** /account/articles/search | Private Articles search
*ArticlesApi* | [**public_article_download**](docs/ArticlesApi.md#public_article_download) | **GET** /articles/{article_id}/download | Public Article Download
*ArticlesApi* | [**public_article_version_download**](docs/ArticlesApi.md#public_article_version_download) | **GET** /articles/{article_id}/versions/{version_id}/download | Public Article Version Download
*AuthorsApi* | [**private_author_details**](docs/AuthorsApi.md#private_author_details) | **GET** /account/authors/{author_id} | Author details
*AuthorsApi* | [**private_authors_search**](docs/AuthorsApi.md#private_authors_search) | **POST** /account/authors/search | Search Authors
*CollectionsApi* | [**collection_articles**](docs/CollectionsApi.md#collection_articles) | **GET** /collections/{collection_id}/articles | Public Collection Articles
*CollectionsApi* | [**collection_details**](docs/CollectionsApi.md#collection_details) | **GET** /collections/{collection_id} | Collection details
*CollectionsApi* | [**collection_version_details**](docs/CollectionsApi.md#collection_version_details) | **GET** /collections/{collection_id}/versions/{version_id} | Collection Version details
*CollectionsApi* | [**collection_versions**](docs/CollectionsApi.md#collection_versions) | **GET** /collections/{collection_id}/versions | Collection Versions list
*CollectionsApi* | [**collections_list**](docs/CollectionsApi.md#collections_list) | **GET** /collections | Public Collections
*CollectionsApi* | [**collections_search**](docs/CollectionsApi.md#collections_search) | **POST** /collections/search | Public Collections Search
*CollectionsApi* | [**private_collection_article_delete**](docs/CollectionsApi.md#private_collection_article_delete) | **DELETE** /account/collections/{collection_id}/articles/{article_id} | Delete collection article
*CollectionsApi* | [**private_collection_articles_add**](docs/CollectionsApi.md#private_collection_articles_add) | **POST** /account/collections/{collection_id}/articles | Add collection articles
*CollectionsApi* | [**private_collection_articles_list**](docs/CollectionsApi.md#private_collection_articles_list) | **GET** /account/collections/{collection_id}/articles | List collection articles
*CollectionsApi* | [**private_collection_articles_replace**](docs/CollectionsApi.md#private_collection_articles_replace) | **PUT** /account/collections/{collection_id}/articles | Replace collection articles
*CollectionsApi* | [**private_collection_author_delete**](docs/CollectionsApi.md#private_collection_author_delete) | **DELETE** /account/collections/{collection_id}/authors/{author_id} | Delete collection author
*CollectionsApi* | [**private_collection_authors_add**](docs/CollectionsApi.md#private_collection_authors_add) | **POST** /account/collections/{collection_id}/authors | Add collection authors
*CollectionsApi* | [**private_collection_authors_list**](docs/CollectionsApi.md#private_collection_authors_list) | **GET** /account/collections/{collection_id}/authors | List collection authors
*CollectionsApi* | [**private_collection_authors_replace**](docs/CollectionsApi.md#private_collection_authors_replace) | **PUT** /account/collections/{collection_id}/authors | Replace collection authors
*CollectionsApi* | [**private_collection_categories_add**](docs/CollectionsApi.md#private_collection_categories_add) | **POST** /account/collections/{collection_id}/categories | Add collection categories
*CollectionsApi* | [**private_collection_categories_list**](docs/CollectionsApi.md#private_collection_categories_list) | **GET** /account/collections/{collection_id}/categories | List collection categories
*CollectionsApi* | [**private_collection_categories_replace**](docs/CollectionsApi.md#private_collection_categories_replace) | **PUT** /account/collections/{collection_id}/categories | Replace collection categories
*CollectionsApi* | [**private_collection_category_delete**](docs/CollectionsApi.md#private_collection_category_delete) | **DELETE** /account/collections/{collection_id}/categories/{category_id} | Delete collection category
*CollectionsApi* | [**private_collection_create**](docs/CollectionsApi.md#private_collection_create) | **POST** /account/collections | Create collection
*CollectionsApi* | [**private_collection_delete**](docs/CollectionsApi.md#private_collection_delete) | **DELETE** /account/collections/{collection_id} | Delete collection
*CollectionsApi* | [**private_collection_details**](docs/CollectionsApi.md#private_collection_details) | **GET** /account/collections/{collection_id} | Collection details
*CollectionsApi* | [**private_collection_patch**](docs/CollectionsApi.md#private_collection_patch) | **PATCH** /account/collections/{collection_id} | Partially update collection
*CollectionsApi* | [**private_collection_private_link_create**](docs/CollectionsApi.md#private_collection_private_link_create) | **POST** /account/collections/{collection_id}/private_links | Create collection private link
*CollectionsApi* | [**private_collection_private_link_delete**](docs/CollectionsApi.md#private_collection_private_link_delete) | **DELETE** /account/collections/{collection_id}/private_links/{link_id} | Disable private link
*CollectionsApi* | [**private_collection_private_link_details**](docs/CollectionsApi.md#private_collection_private_link_details) | **GET** /account/collections/{collection_id}/private_links/{link_id} | View collection private link
*CollectionsApi* | [**private_collection_private_link_update**](docs/CollectionsApi.md#private_collection_private_link_update) | **PUT** /account/collections/{collection_id}/private_links/{link_id} | Update collection private link
*CollectionsApi* | [**private_collection_private_links_list**](docs/CollectionsApi.md#private_collection_private_links_list) | **GET** /account/collections/{collection_id}/private_links | List collection private links
*CollectionsApi* | [**private_collection_publish**](docs/CollectionsApi.md#private_collection_publish) | **POST** /account/collections/{collection_id}/publish | Private Collection Publish
*CollectionsApi* | [**private_collection_reserve_doi**](docs/CollectionsApi.md#private_collection_reserve_doi) | **POST** /account/collections/{collection_id}/reserve_doi | Private Collection Reserve DOI
*CollectionsApi* | [**private_collection_reserve_handle**](docs/CollectionsApi.md#private_collection_reserve_handle) | **POST** /account/collections/{collection_id}/reserve_handle | Private Collection Reserve Handle
*CollectionsApi* | [**private_collection_resource**](docs/CollectionsApi.md#private_collection_resource) | **POST** /account/collections/{collection_id}/resource | Private Collection Resource
*CollectionsApi* | [**private_collection_update**](docs/CollectionsApi.md#private_collection_update) | **PUT** /account/collections/{collection_id} | Update collection
*CollectionsApi* | [**private_collections_list**](docs/CollectionsApi.md#private_collections_list) | **GET** /account/collections | Private Collections List
*CollectionsApi* | [**private_collections_search**](docs/CollectionsApi.md#private_collections_search) | **POST** /account/collections/search | Private Collections Search
*InstitutionsApi* | [**account_group_custom_fields**](docs/InstitutionsApi.md#account_group_custom_fields) | **GET** /account/groups/{group_id}/metadata/item | Group custom fields
*InstitutionsApi* | [**account_institution_curation**](docs/InstitutionsApi.md#account_institution_curation) | **GET** /account/institution/review/{curation_id} | Institution Curation Review
*InstitutionsApi* | [**account_institution_curations**](docs/InstitutionsApi.md#account_institution_curations) | **GET** /account/institution/reviews | Institution Curation Reviews
*InstitutionsApi* | [**custom_fields_list**](docs/InstitutionsApi.md#custom_fields_list) | **GET** /account/institution/custom_fields | Private account institution group custom fields
*InstitutionsApi* | [**custom_fields_upload**](docs/InstitutionsApi.md#custom_fields_upload) | **POST** /account/institution/custom_fields/{custom_field_id}/items/upload | Custom fields values files upload
*InstitutionsApi* | [**get_account_institution_curation_comments**](docs/InstitutionsApi.md#get_account_institution_curation_comments) | **GET** /account/institution/review/{curation_id}/comments | Institution Curation Review Comments
*InstitutionsApi* | [**institution_articles**](docs/InstitutionsApi.md#institution_articles) | **GET** /institutions/{institution_string_id}/articles/filter-by | Public Institution Articles
*InstitutionsApi* | [**institution_hrfeed_upload**](docs/InstitutionsApi.md#institution_hrfeed_upload) | **POST** /institution/hrfeed/upload | Private Institution HRfeed Upload
*InstitutionsApi* | [**post_account_institution_curation_comments**](docs/InstitutionsApi.md#post_account_institution_curation_comments) | **POST** /account/institution/review/{curation_id}/comments | POST Institution Curation Review Comment
*InstitutionsApi* | [**private_account_institution_user**](docs/InstitutionsApi.md#private_account_institution_user) | **GET** /account/institution/users/{account_id} | Private Account Institution User
*InstitutionsApi* | [**private_categories_list**](docs/InstitutionsApi.md#private_categories_list) | **GET** /account/categories | Private Account Categories
*InstitutionsApi* | [**private_group_embargo_options_details**](docs/InstitutionsApi.md#private_group_embargo_options_details) | **GET** /account/institution/groups/{group_id}/embargo_options | Private Account Institution Group Embargo Options
*InstitutionsApi* | [**private_institution_account**](docs/InstitutionsApi.md#private_institution_account) | **GET** /account/institution/accounts/{account_id} | Private Institution Account information
*InstitutionsApi* | [**private_institution_account_group_role_delete**](docs/InstitutionsApi.md#private_institution_account_group_role_delete) | **DELETE** /account/institution/roles/{account_id}/{group_id}/{role_id} | Delete Institution Account Group Role
*InstitutionsApi* | [**private_institution_account_group_roles**](docs/InstitutionsApi.md#private_institution_account_group_roles) | **GET** /account/institution/roles/{account_id} | List Institution Account Group Roles
*InstitutionsApi* | [**private_institution_account_group_roles_create**](docs/InstitutionsApi.md#private_institution_account_group_roles_create) | **POST** /account/institution/roles/{account_id} | Add Institution Account Group Roles
*InstitutionsApi* | [**private_institution_accounts_create**](docs/InstitutionsApi.md#private_institution_accounts_create) | **POST** /account/institution/accounts | Create new Institution Account
*InstitutionsApi* | [**private_institution_accounts_list**](docs/InstitutionsApi.md#private_institution_accounts_list) | **GET** /account/institution/accounts | Private Account Institution Accounts
*InstitutionsApi* | [**private_institution_accounts_search**](docs/InstitutionsApi.md#private_institution_accounts_search) | **POST** /account/institution/accounts/search | Private Account Institution Accounts Search
*InstitutionsApi* | [**private_institution_accounts_update**](docs/InstitutionsApi.md#private_institution_accounts_update) | **PUT** /account/institution/accounts/{account_id} | Update Institution Account
*InstitutionsApi* | [**private_institution_articles**](docs/InstitutionsApi.md#private_institution_articles) | **GET** /account/institution/articles | Private Institution Articles
*InstitutionsApi* | [**private_institution_details**](docs/InstitutionsApi.md#private_institution_details) | **GET** /account/institution | Private Account Institutions
*InstitutionsApi* | [**private_institution_embargo_options_details**](docs/InstitutionsApi.md#private_institution_embargo_options_details) | **GET** /account/institution/embargo_options | Private Account Institution embargo options
*InstitutionsApi* | [**private_institution_groups_list**](docs/InstitutionsApi.md#private_institution_groups_list) | **GET** /account/institution/groups | Private Account Institution Groups
*InstitutionsApi* | [**private_institution_roles_list**](docs/InstitutionsApi.md#private_institution_roles_list) | **GET** /account/institution/roles | Private Account Institution Roles
*OauthApi* | [**create_token**](docs/OauthApi.md#create_token) | **POST** /token | Create OAuth token
*OauthApi* | [**get_token_info**](docs/OauthApi.md#get_token_info) | **GET** /token | Get OAuth token information
*OtherApi* | [**categories_list**](docs/OtherApi.md#categories_list) | **GET** /categories | Public Categories
*OtherApi* | [**file_download**](docs/OtherApi.md#file_download) | **GET** /file/download/{file_id} | Public File Download
*OtherApi* | [**item_types_list**](docs/OtherApi.md#item_types_list) | **GET** /item_types | Item Types
*OtherApi* | [**licenses_list**](docs/OtherApi.md#licenses_list) | **GET** /licenses | Public Licenses
*OtherApi* | [**private_account**](docs/OtherApi.md#private_account) | **GET** /account | Private Account information
*OtherApi* | [**private_funding_search**](docs/OtherApi.md#private_funding_search) | **POST** /account/funding/search | Search Funding
*OtherApi* | [**private_licenses_list**](docs/OtherApi.md#private_licenses_list) | **GET** /account/licenses | Private Account Licenses
*ProfilesApi* | [**update_user_profile**](docs/ProfilesApi.md#update_user_profile) | **PUT** /account/profile | Update public profile
*ProfilesApi* | [**update_user_profile_picture**](docs/ProfilesApi.md#update_user_profile_picture) | **POST** /account/profile/{user_id}/picture | Update public profile picture
*ProjectsApi* | [**private_project_article_delete**](docs/ProjectsApi.md#private_project_article_delete) | **DELETE** /account/projects/{project_id}/articles/{article_id} | Delete project article
*ProjectsApi* | [**private_project_article_details**](docs/ProjectsApi.md#private_project_article_details) | **GET** /account/projects/{project_id}/articles/{article_id} | Project article details
*ProjectsApi* | [**private_project_article_file**](docs/ProjectsApi.md#private_project_article_file) | **GET** /account/projects/{project_id}/articles/{article_id}/files/{file_id} | Project article file details
*ProjectsApi* | [**private_project_article_files**](docs/ProjectsApi.md#private_project_article_files) | **GET** /account/projects/{project_id}/articles/{article_id}/files | Project article list files
*ProjectsApi* | [**private_project_articles_create**](docs/ProjectsApi.md#private_project_articles_create) | **POST** /account/projects/{project_id}/articles | Create project article
*ProjectsApi* | [**private_project_articles_list**](docs/ProjectsApi.md#private_project_articles_list) | **GET** /account/projects/{project_id}/articles | List project articles
*ProjectsApi* | [**private_project_collaborator_delete**](docs/ProjectsApi.md#private_project_collaborator_delete) | **DELETE** /account/projects/{project_id}/collaborators/{user_id} | Remove project collaborator
*ProjectsApi* | [**private_project_collaborators_invite**](docs/ProjectsApi.md#private_project_collaborators_invite) | **POST** /account/projects/{project_id}/collaborators | Invite project collaborators
*ProjectsApi* | [**private_project_collaborators_list**](docs/ProjectsApi.md#private_project_collaborators_list) | **GET** /account/projects/{project_id}/collaborators | List project collaborators
*ProjectsApi* | [**private_project_create**](docs/ProjectsApi.md#private_project_create) | **POST** /account/projects | Create project
*ProjectsApi* | [**private_project_delete**](docs/ProjectsApi.md#private_project_delete) | **DELETE** /account/projects/{project_id} | Delete project
*ProjectsApi* | [**private_project_details**](docs/ProjectsApi.md#private_project_details) | **GET** /account/projects/{project_id} | View project details
*ProjectsApi* | [**private_project_leave**](docs/ProjectsApi.md#private_project_leave) | **POST** /account/projects/{project_id}/leave | Private Project Leave
*ProjectsApi* | [**private_project_note**](docs/ProjectsApi.md#private_project_note) | **GET** /account/projects/{project_id}/notes/{note_id} | Project note details
*ProjectsApi* | [**private_project_note_delete**](docs/ProjectsApi.md#private_project_note_delete) | **DELETE** /account/projects/{project_id}/notes/{note_id} | Delete project note
*ProjectsApi* | [**private_project_note_update**](docs/ProjectsApi.md#private_project_note_update) | **PUT** /account/projects/{project_id}/notes/{note_id} | Update project note
*ProjectsApi* | [**private_project_notes_create**](docs/ProjectsApi.md#private_project_notes_create) | **POST** /account/projects/{project_id}/notes | Create project note
*ProjectsApi* | [**private_project_notes_list**](docs/ProjectsApi.md#private_project_notes_list) | **GET** /account/projects/{project_id}/notes | List project notes
*ProjectsApi* | [**private_project_partial_update**](docs/ProjectsApi.md#private_project_partial_update) | **PATCH** /account/projects/{project_id} | Partially update project
*ProjectsApi* | [**private_project_publish**](docs/ProjectsApi.md#private_project_publish) | **POST** /account/projects/{project_id}/publish | Private Project Publish
*ProjectsApi* | [**private_project_update**](docs/ProjectsApi.md#private_project_update) | **PUT** /account/projects/{project_id} | Update project
*ProjectsApi* | [**private_projects_list**](docs/ProjectsApi.md#private_projects_list) | **GET** /account/projects | Private Projects
*ProjectsApi* | [**private_projects_search**](docs/ProjectsApi.md#private_projects_search) | **POST** /account/projects/search | Private Projects search
*ProjectsApi* | [**project_articles**](docs/ProjectsApi.md#project_articles) | **GET** /projects/{project_id}/articles | Public Project Articles
*ProjectsApi* | [**project_details**](docs/ProjectsApi.md#project_details) | **GET** /projects/{project_id} | Public Project
*ProjectsApi* | [**projects_list**](docs/ProjectsApi.md#projects_list) | **GET** /projects | Public Projects
*ProjectsApi* | [**projects_search**](docs/ProjectsApi.md#projects_search) | **POST** /projects/search | Public Projects Search
*SymplecticApi* | [**symplectic_account_articles**](docs/SymplecticApi.md#symplectic_account_articles) | **GET** /symplectic/accounts/{external_user_id}/articles | Get articles for a specific account
*SymplecticApi* | [**symplectic_accounts_ids**](docs/SymplecticApi.md#symplectic_accounts_ids) | **GET** /symplectic/accounts | Get changed accounts for Symplectic Elements
*SymplecticApi* | [**symplectic_article**](docs/SymplecticApi.md#symplectic_article) | **GET** /symplectic/articles/{article_id} | Get article details for Symplectic Elements
*SymplecticApi* | [**symplectic_changed_articles**](docs/SymplecticApi.md#symplectic_changed_articles) | **GET** /symplectic/articles | Get changed articles for Symplectic Elements
*SymplecticApi* | [**symplectic_user_id**](docs/SymplecticApi.md#symplectic_user_id) | **GET** /symplectic/users/{user_id} | Get institutional user ID for a user


## Documentation For Models

 - [Account](docs/Account.md)
 - [AccountCreate](docs/AccountCreate.md)
 - [AccountCreateResponse](docs/AccountCreateResponse.md)
 - [AccountReport](docs/AccountReport.md)
 - [AccountUpdate](docs/AccountUpdate.md)
 - [AltmetricInstitution](docs/AltmetricInstitution.md)
 - [Article](docs/Article.md)
 - [ArticleComplete](docs/ArticleComplete.md)
 - [ArticleCompletePrivate](docs/ArticleCompletePrivate.md)
 - [ArticleConfidentiality](docs/ArticleConfidentiality.md)
 - [ArticleCreate](docs/ArticleCreate.md)
 - [ArticleDOI](docs/ArticleDOI.md)
 - [ArticleEmbargo](docs/ArticleEmbargo.md)
 - [ArticleEmbargoUpdater](docs/ArticleEmbargoUpdater.md)
 - [ArticleHandle](docs/ArticleHandle.md)
 - [ArticleProjectCreate](docs/ArticleProjectCreate.md)
 - [ArticleSearch](docs/ArticleSearch.md)
 - [ArticleUnpublishData](docs/ArticleUnpublishData.md)
 - [ArticleUpdate](docs/ArticleUpdate.md)
 - [ArticleVersionUpdate](docs/ArticleVersionUpdate.md)
 - [ArticleVersions](docs/ArticleVersions.md)
 - [ArticleWithProject](docs/ArticleWithProject.md)
 - [ArticlesCreator](docs/ArticlesCreator.md)
 - [Author](docs/Author.md)
 - [AuthorComplete](docs/AuthorComplete.md)
 - [AuthorsCreator](docs/AuthorsCreator.md)
 - [CategoriesCreator](docs/CategoriesCreator.md)
 - [Category](docs/Category.md)
 - [CategoryList](docs/CategoryList.md)
 - [Collaborator](docs/Collaborator.md)
 - [Collection](docs/Collection.md)
 - [CollectionComplete](docs/CollectionComplete.md)
 - [CollectionCompletePrivate](docs/CollectionCompletePrivate.md)
 - [CollectionCreate](docs/CollectionCreate.md)
 - [CollectionDOI](docs/CollectionDOI.md)
 - [CollectionHandle](docs/CollectionHandle.md)
 - [CollectionPrivateLinkCreator](docs/CollectionPrivateLinkCreator.md)
 - [CollectionSearch](docs/CollectionSearch.md)
 - [CollectionUpdate](docs/CollectionUpdate.md)
 - [CollectionVersions](docs/CollectionVersions.md)
 - [CommonSearch](docs/CommonSearch.md)
 - [ConfidentialityCreator](docs/ConfidentialityCreator.md)
 - [CreateOAuthToken](docs/CreateOAuthToken.md)
 - [CreateProjectResponse](docs/CreateProjectResponse.md)
 - [Curation](docs/Curation.md)
 - [CurationComment](docs/CurationComment.md)
 - [CurationCommentCreate](docs/CurationCommentCreate.md)
 - [CurationDetail](docs/CurationDetail.md)
 - [CustomArticleField](docs/CustomArticleField.md)
 - [CustomArticleFieldAdd](docs/CustomArticleFieldAdd.md)
 - [CustomArticleFieldAddValue](docs/CustomArticleFieldAddValue.md)
 - [ErrorMessage](docs/ErrorMessage.md)
 - [FileCreator](docs/FileCreator.md)
 - [FileId](docs/FileId.md)
 - [FundingCreate](docs/FundingCreate.md)
 - [FundingInformation](docs/FundingInformation.md)
 - [FundingSearch](docs/FundingSearch.md)
 - [Group](docs/Group.md)
 - [GroupEmbargoOptions](docs/GroupEmbargoOptions.md)
 - [Institution](docs/Institution.md)
 - [InstitutionAccountsSearch](docs/InstitutionAccountsSearch.md)
 - [ItbmTimeline](docs/ItbmTimeline.md)
 - [ItemComplete](docs/ItemComplete.md)
 - [ItemCompletePrivate](docs/ItemCompletePrivate.md)
 - [ItemCreate](docs/ItemCreate.md)
 - [ItemType](docs/ItemType.md)
 - [ItemTypeField](docs/ItemTypeField.md)
 - [ItemUpdate](docs/ItemUpdate.md)
 - [License](docs/License.md)
 - [Location](docs/Location.md)
 - [LocationWarnings](docs/LocationWarnings.md)
 - [LocationWarningsUpdate](docs/LocationWarningsUpdate.md)
 - [OAuthToken](docs/OAuthToken.md)
 - [PrivateArticleSearch](docs/PrivateArticleSearch.md)
 - [PrivateAuthorsSearch](docs/PrivateAuthorsSearch.md)
 - [PrivateCollectionSearch](docs/PrivateCollectionSearch.md)
 - [PrivateFile](docs/PrivateFile.md)
 - [PrivateLink](docs/PrivateLink.md)
 - [PrivateLinkCreator](docs/PrivateLinkCreator.md)
 - [PrivateLinkResponse](docs/PrivateLinkResponse.md)
 - [PrivateProjectArticle](docs/PrivateProjectArticle.md)
 - [ProfileUpdateData](docs/ProfileUpdateData.md)
 - [ProfileUpdateDataPersonalProfilesInner](docs/ProfileUpdateDataPersonalProfilesInner.md)
 - [Project](docs/Project.md)
 - [ProjectArticle](docs/ProjectArticle.md)
 - [ProjectCollaborator](docs/ProjectCollaborator.md)
 - [ProjectCollaboratorInvite](docs/ProjectCollaboratorInvite.md)
 - [ProjectComplete](docs/ProjectComplete.md)
 - [ProjectCompletePrivate](docs/ProjectCompletePrivate.md)
 - [ProjectCreate](docs/ProjectCreate.md)
 - [ProjectNote](docs/ProjectNote.md)
 - [ProjectNoteCreate](docs/ProjectNoteCreate.md)
 - [ProjectNotePrivate](docs/ProjectNotePrivate.md)
 - [ProjectPrivate](docs/ProjectPrivate.md)
 - [ProjectUpdate](docs/ProjectUpdate.md)
 - [ProjectsSearch](docs/ProjectsSearch.md)
 - [PublicFile](docs/PublicFile.md)
 - [RelatedMaterial](docs/RelatedMaterial.md)
 - [Resource](docs/Resource.md)
 - [ResponseMessage](docs/ResponseMessage.md)
 - [Role](docs/Role.md)
 - [ShortAccount](docs/ShortAccount.md)
 - [ShortCustomField](docs/ShortCustomField.md)
 - [SymplecticAccountsIds200ResponseInner](docs/SymplecticAccountsIds200ResponseInner.md)
 - [SymplecticUserId200Response](docs/SymplecticUserId200Response.md)
 - [Timeline](docs/Timeline.md)
 - [TimelineUpdate](docs/TimelineUpdate.md)
 - [UnderlyingField](docs/UnderlyingField.md)
 - [UploadFilePart](docs/UploadFilePart.md)
 - [UploadInfo](docs/UploadInfo.md)
 - [User](docs/User.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="OAuth2"></a>
### OAuth2

- **Type**: OAuth
- **Flow**: accessCode
- **Authorization URL**: https://figshare.com/account/applications/authorize
- **Scopes**: 
 - **all**: Grants all access


## Author




