updatePersonProfile
This API endpoint allows external systems to update user profile information in ScholarOne Manuscripts programmatically. The Profile Sync API provides the ability to synchronize user data between external systems and ScholarOne Manuscripts, supporting automated profile management workflows.
This API call works best in tandem with other API endpoints such as getPersonInfoFull and getPersonInfoBasic, which allow retrieval of existing person data and personId values required to perform updates.
Method: POST
Resource
/api/s1m/v3/person/full/update
Request Parameters
| Element | Type | Description | Required | Example or Default Value |
|---|---|---|---|---|
| updatePersonProfile | Root | Yes | ||
| username | String | Profile User Name. This is the user name used by the API, not a ScholarOne Manuscripts user. This is from the Caller’s profile. | Yes | sample_user |
| password | String | The API Key. Encrypted value uniquely identifying and authenticating Caller | Yes | SRU4DQ5WOJ2PX8CA |
| site_name | String | Site short name. The short name is the abbreviated or truncated name of the journal, society, publisher, or family. | Yes | salesdemoplus |
| url | String | The Web Service URL, which identifies the specific service to handle the request. | Yes | v3/person/full/update |
| external_id | String | An id value that can be set by the client for call tracking. Caller supplied Text string to be stored with Audit History information. | No | 123456 |
| locale_id | Integer | The unique identifier for a specific language. The value of the locale_id must match to the specific language as defined in the Caller’s profile. | No | Options are:
|
| _type | String | The data type requested from the Service <xml> or <json>. This defaults to <xml>. | No | xml (default if omitted), or json |
Request Body Elements
The request body must be in JSON format.
{
"input": {
"personId": "15003305",
"firstName": "Michael",
"middleName": "Gary",
"lastName": "Scott",
"primaryInstitution": "Silverchair",
"institutionId": "213421",
"department": "Engineering",
"primaryEmailAddress": "[email protected]",
"secondaryEmailAddress": "[email protected]",
"address1": "123 Main Street",
"address2": "Suite 456",
"address3": "",
"city": "Boston",
"country": "United States",
"state": "MA",
"postalCode": "02101",
"phone": "+1-617-555-0123",
"ORCIDId": "0000-0003-1289-3494",
"ORCIDDatetimeValidated": "05/28/2024 18:15:45",
"ORCIDAccessToken": "f8c0990a-a40f-4012-9b85-b9a6f46360a3",
"externalUserId": "johnK1"
}
}Request Body Elements Description
Element/ | Type | Description | Req | Nullable |
|---|---|---|---|---|
input | Object | Root object containing all the data required for updating a person profile. | Yes | No |
personId
| Integer | The unique identifier of the person whose profile will be updated. This must be a valid person ID in the system. | Yes | No |
firstName
| String | The person's first name. | Yes | No |
middleName
| String | The person's middle name. | No | Yes |
lastName
| String | The person's last name. | Yes | No |
primaryEmailAddress
| String | The person's primary email address. This serves as the primary contact method and must be unique in the system. | Yes | No |
secondaryEmailAddress
| String | The person's secondary email address. | No | Yes |
primaryInstitution
| String | The name of the person's primary institution. This is a free-text field for the institution name. | No | Yes |
institutionId
| String | The unique identifier for the person's primary institution. Can be a Ringgold ID or other institutional identifier. This value is not validated by the system. | No | Yes |
department
| String | The department or organizational unit within the institution. | No | Yes |
address1
| String | The first line of the person's address. | No | Yes |
address2
| String | The second line of the person's address. | No | Yes |
address3
| String | The third line of the person's address. | No | Yes |
city
| String | The city of the person's address. | No | Yes |
country
| String | The country of the person's address. | No | Yes |
state
| String | The state or province. For US, Australia, and Canada, use standard abbreviations. For other countries, free text is allowed. | No | Yes |
postalCode
| String | The postal code or ZIP code of the person's address. | No | Yes |
phone
| String | The person's phone number. Can be cleared by sending empty string. | No | Yes |
ORCIDId
| String | The person's ORCID identifier. Can only be set if the person already has an ORCID in S1M or if one is provided via the API. | No | Yes |
ORCIDDatetimeValidated
| String | The date and time when the ORCID was validated. Required when setting or updating ORCIDId. Format: MM/DD/YYYY HH:MM:SS | No | Yes |
ORCIDAccessToken
| String | The access token for ORCID integration. Required when setting or updating ORCIDId to enable posting data to the ORCID record. | No | Yes |
externalUserId
| String | An external system identifier for the user. This allows external systems to maintain their own unique identifier for cross-system reference and integration purposes. | No | Yes |
Field Behavior and Validation Rules
Required Fields
The following fields are system-required and cannot be null:
- firstName
- lastName
- primaryEmailAddress
Nullable Fields
Fields not provided or sent as null will clear any existing values in ScholarOne Manuscripts. This behavior supports data synchronization by allowing external systems to remove outdated information.
Special Character Validation
The API validates special characters for the following fields:
- firstName
- middleName
- lastName
Unsupported special characters (such as [ and ]) in name fields will result in validation errors. The system will reject updates containing characters that cannot be displayed properly in the ScholarOne Manuscripts interface.
Field Length Validation
All fields are validated against maximum length constraints. Exceeding the maximum length for any field will result in a validation error.
ORCID Requirements
When updating ORCID information:
- ORCIDAccessToken is required to enable posting data to the person's ORCID record
- Without an access token, the system cannot perform ORCID integration functions
- You can only set ORCID data if the person has an ORCID either in S1M or sent via the API
- ORCID date validated and access token can only be set when an ORCID ID is present
Updated about 1 month ago
