Manuscript upload API

Overview

Manuscript upload API allows to upload a manuscript file and its metadata. The API will parse a source file, create a manuscript in the Prophy database and return a list of referee candidates.

Endpoint
https://stage.prophy.ai/api/external/proposal/
Method: POST
Content Type: multipart/form-data
Request params
Field Description
api_key
string required
Your organization API Key
folder
string required
A folder name. Identifies the destination folder for the manuscript. Provide either a journal code or panel name that is recognizable to editors. If this folder doesn't exist in Prophy, it will be automatically created. To move an existing manuscript to a different folder, resubmit it with the same origin_id but a different folder value.
origin_id
string required
Client-side manuscript ID
title
string required
Title of the manuscript
abstract
string required
Abstract of the manuscript
authors_count
integer required
Total number of authors. To validate that we correctly parse all authors.
author1_name
string
Author's name
author1_orcid
string
Author's ORCID
author1_email
string
Author's email
...
authorN_name
string string
Author's name
authorN_orcid
string
Author's ORCID
authorN_email
string
Author's email
source_file
file
PDF or DOCX source file of the manuscript
exclude_candidates
string
When present with any non-empty value, including 'false' or '0', this parameter instructs the system to skip the calculation of referee candidates. Use this parameter when you only want to store the manuscript without generating referee suggestions. The response will return candidates: null when this parameter is included.
min_h_index
integer
Minimum h-index of the suggested candidates
max_h_index
integer
Maximum h-index of the suggested candidates
min_academic_age
integer
Minimum academic age of the suggested candidates
max_academic_age
integer
Maximum academic age of the suggested candidates
min_articles_count
integer
Minimum number of published articles of the suggested candidates
max_articles_count
integer
Maximum number of published articles of the suggested candidates

API supports posting the same manuscript many times, we will find an existing one by origin_id and will update it. That means, you can move the manuscript to another folder by setting folder to a new value (already existing or not). Authors Groups will be used if they are specified in the folder's Referee Finder settings where the manuscript is submitted.

Example POST request
curl --http1.1 -X POST "https://stage.prophy.ai/api/external/proposal/" \
-F "[email protected]" \
-F "api_key=<API Key>" \
-F "folder=hep-ph" \
-F "title=Features in the Standard Model diphoton background" \
-F "origin_id=1606.09592" \
-F "author1_name=Kyrylo Bondarenko" \
-F "author2_name=Alexey Boyarsky" \
-F "authors_count=2" \
-F "abstract=We argue that the electromagnetic decays of energetic unflavoured neutral mesons, notably η, mis-identified as single photons due to granularity of the electromagnetic calorimeter might create bump-like features in the diphoton invariant mass spectrum at different energies, including 750 GeV. We discuss what kind of additional analysis can exclude or confirm this hypothesis."
Response object
Field Description
manuscript_id
integer
ID of the manuscript in the Prophy database
origin_id
string
ID of the manuscript in the client's database
candidates
array of objects
List of referee candidates
authors_groups_settings
nullable object
Authors Groups settings according to folder's Referee Finder settings
debug_info
object
Debug info of the parsed source file. This information is provided for troubleshooting and monitoring.
candidates
Field Description
name
string
Author's full name
first_name
string
Author's first name
last_name
string
Author's last name
middle_name
nullable string
Author's middle name
suffix
nullable string
Name suffix like jr, sr
author_id
integer
Author's ID in the Prophy database
email
nullable string
Author's email
orcid
nullable string
Author's ORCID
affiliation
nullable string
Author's most recent affiliation
articlesCount
integer
Number of articles published by the author
citationsCount
integer
Number of citations for the author's articles
hIndex
integer
Author's h-index
score
float
Relevance score for this candidate (higher is more relevant)
url
string
URL to the author's profile in Prophy
authors_groups
array of objects
List of Authors Groups that contain this author, according to folder's Referee Finder settings
marked
boolean
Indicates if the candidate is marked as a referee
candidates.authors_groups

This field indicates the Authors Groups the candidate belongs to, according to the folder's Referee Finder settings. If the settings do not specify Authors Groups, the field will contain an empty list.

Field Description
group_id
integer
Authors Group ID in the Prophy database
client_id
nullable string
Client-side author ID inside the Authors Group
authors_groups_settings

If the folder's Referee Finder settings specify the Authors Groups, then this field will indicate the Authors Groups and their effect on the search results.

Field Description
authors_groups
array of objects
Authors Groups settings according to the folder's Referee Finder settings
effect
string
highlight to indicate that the authors belong to the Authors Group. limit_to to search candidates only in Authors Groups.
authors_groups_settings.authors_groups
Field Description
id
integer
Authors Group ID in the Prophy database
name
string
Authors Group name
label
nullable string
Authors Group label
debug_info
Field Description
source_file
nullable string
Name of the source file
parsed_text_len
integer
Length of the parsed text
parsed_references
integer
Number of parsed references
extracted_concepts
integer
Number of extracted concepts
authors_info
object
Debug info about parsed authors
debug_info.authors_info
Field Description
authors_count
integer
Number of parsed authors
emails_count
integer
Number of parsed emails
orcids_count
integer
Number of parsed ORCIDs
Example POST response
{
  "manuscript_id": 57502,
  "origin_id": "1606.09592",
  "candidates":[
    {
      "name": "Stefano Moretti",
      "first_name": "Stefano",
      "last_name": "Moretti",
      "middle_name": null,
      "suffix": null,
      "author_id": 4935435,
      "email": "[email protected]",
      "orcid": "0000-0003-3627-3257",
      "affiliation": "Uppsala University, Uppsala, Sweden",
      "articlesCount": 652,
      "citationsCount": 19730,
      "hIndex": 57,
      "score": 51.25025523025711,
      "url": https://stage.prophy.ai/author/4935435/Stefano-Moretti/,
      "authors_groups": [
        {
          "group_id": 35,
          "client_id": "EX001"
        },
        {
          "group_id": 55,
          "client_id": "EX001"
        }
      ],
      "marked": false
    },
    {
      "name": "Kazuho Abe",
      "first_name": "Kazuho",
      "last_name": "Abe",
      "middle_name": null,
      "suffix": null,
      "author_id": 4663323,
      "email": "[email protected]",
      "orcid": "0000-0001-7787-9592",
      "affiliation": "Chiba University, Chiba, Japan",
      "articlesCount": 551,
      "citationsCount": 17580,
      "hIndex": 65,
      "score": 42.47160062315977,
      "url": https://stage.prophy.ai/author/4663323/Kazuho-Abe/,
      "authors_groups": [
        {
          "group_id": 35,
          "client_id": "EX002"
        }
      ],
      "marked": false
    }
  ],
  "authors_groups_settings": {
    "authors_groups": [
        {
          "id": 35,
          "name": "2023-winter-experts",
          "label": null
        },
        {
          "id": 55,
          "name": "2023-summer-experts",
          "label": null
        }
    ],
    "effect": "highlight"
  },
  "debug_info": {
    "source_file": "1606.09592.pdf",
    "parsed_text_len": 10735,
    "parsed_references": 38,
    "extracted_concepts": 76,
    "authors_info": {
      "authors_count": 2,
      "emails_count": 0,
      "orcids_count": 0
    }
  }
}

Additional settings

Prophy provides additional organization-wide settings that control the behavior of the Manuscript Upload API:

  • Prioritize parsed data or metadata.
  • Whether to include candidates with conflicts of interest in the response or not.
  • Include candidates without a known email in the response or not.

These settings can be configured by users with Integrations admin permission on the Integrations dashboard.