Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
The Latest on ORCID API v2
1. orcid.orgContact Info: p. +1-301-922-9062 a. 10411 Motor City Drive, Suite 750, Bethesda, MD 20817
USA
What’s new in v2?
The latest on ORCID API v2 & what it means for you
Simeon Warner
Director of IT for Library Linked Data and Repository Architecture
Cornell University Library
orcid.org/0000-0002-7970-7855
2. Why v2.0
Hooray, we’re launching a new
API!
Why? We’ll talk about that in a moment.
It’s different from the current
API
Current API users: Some changes will be
needed.
We’ll talk about that, too.
But it’s got great features that 2
3. Why v2.0
A brief history of ORCID…
• Nov 2012: ~26, 000 iDs + tiny records
3
NOV
2012
<orcid-profile>
<given-names>Josiah</given-names>
<family-name>Carberry</family-name>
<biography>Bio</biography>
<email>j.carberry@orcid.org</email>
<orcid-works>
<orcid-work>
<identifier-
type>doi</identifier-type>
<identifier-
id>10.1087/20120404</identifi
er-id>
</orcid-work>
</orcid-works>
</orcid-profile>
4. Why v2.0
Things have changed.
• Now: ~2.6million iDs + MASSIVE
records
4
OCT
2016
5. Why v2.0
Today ORCID includes:
• 15,356,999 works
• 2,014,460 affiliation assertions
• 207,048 funding items
• 35,722 records with over 100 works
• 81 member organizations posting works
5
7. Reading ORCID Records
7
v1.2Read/write in big chunks
v2.0Read/write in tasty,
bite-sized pieces
Photo credit theimpulsivebuy CC BY-SA 2.0 https://flic.kr/p/tbrwZV Photo credit Andrea Westmoreland CC BY-SA 2.0
https://flic.kr/p/4GQ7pg
8. v1.2 Reading ORCID Records
8
v1.2: Reading record http://orcid.org/0000-0001-5109-3700
9. v2.0 Reading ORCID Records
9
{"last-modified-date": {"value": 1462157547720},"name": {"created-date":
{"value": 1460757617078},"last-modified-date": {"value":
1460757617078},"given-names": {"value": "Josiah"},"family-name": {"value":
"Carberry"},"credit-name": null,"source": null,"visibility": "PUBLIC","path":
null},"other-names": {"last-modified-date": {"value": 1462157547720},"other-
name": [{"created-date": {"value": 1462157351411},"last-modified-date":
{"value": 1462157547720},"source": {"source-orcid": {"uri":
"http://orcid.org/0000-0002-1825-0097","path": "0000-0002-1825-0097","host":
"orcid.org"},"source-client-id": null,"source-name": {"value": "Josiah
Carberry"}},"content": "Josiah Stinkney Carberry","visibility":
"PUBLIC","path": "/0000-0002-1825-0097/other-names/732317","put-code":
732317,"display-index": 3},{"created-date": {"value": 1446663146889},"last-
modified-date": {"value": 1462157547720},"source": {"source-orcid": {"uri":
"http://orcid.org/0000-0002-1825-0097","path": "0000-0002-1825-0097","host":
"orcid.org"},"source-client-id": null,"source-name": {"value": "Josiah
Carberry"}},"content": "J. Carberry","visibility": "PUBLIC","path": "/0000-
0002-1825-0097/other-names/565981","put-code": 565981,"display-index":
2},{"created-date": {"value": 1462157351418},"last-modified-date": {"value":
1462157547720},"source": {"source-orcid": {"uri": "http://orcid.org/0000-
0002-1825-0097","path": "0000-0002-1825-0097","host": "orcid.org"},"source-
client-id": null,"source-name": {"value": "Josiah Carberry"}},"content": "J.
S. Carberry","visibility": "PUBLIC","path": "/0000-0002-1825-0097/other-
names/732318","put-code": 732318,"display-index": 1}],"path": "/0000-0002-
1825-0097/other-names"},"biography": {"created-date": {"value":
1460757617080},"last-modified-date": {"value": 1460757617080},"content":
"Josiah Carberry is a fictitious person. This account is used as a
demonstration account by ORCID, CrossRef and others who wish to demonstrate
the interaction of ORCID with other scholarly communication systems without
having to use a real-person's account.rnrnJosiah Stinkney Carberry is a
fictional professor, created as a joke in 1929. He is said to still teach at
Brown University, and to be known for his work in "psychoceramics", the
supposed study of "cracked pots". See his Wikipedia entry for more
details.","visibility": "PUBLIC","path": "/0000-0002-1825-
0097/biography"},"path": "/0000-0002-1825-0097/personal-details"}
{"last-modified-
date":{"value":1462157635636},"keyword":[{"created-
date":{"value":1462157617244},"last-modified-
date":{"value":1462157635636},"source":{"source-
orcid":{"uri":"http://orcid.org/0000-0002-1825-
0097","path":"0000-0002-1825-
0097","host":"orcid.org"},"source-client-
id":null,"source-
name":{"value":"JosiahCarberry"}},"content":"psychocera
mics","visibility":"PUBLIC","path":"/0000-0002-1825-
0097/keywords/434187","put-code":434187,"display-
index":3},{"created-
date":{"value":1462157414545},"last-modified-
date":{"value":1462157635636},"source":{"source-
orcid":{"uri":"http://orcid.org/0000-0002-1825-
0097","path":"0000-0002-1825-
0097","host":"orcid.org"},"source-client-
id":null,"source-
name":{"value":"JosiahCarberry"}},"content":"ionianphil
ology","visibility":"PUBLIC","path":"/0000-0002-1825-
0097/keywords/434184","put-code":434184,"display-
index":2}],"path":"/0000-0002-1825-0097/keywords"}
{"last-modified-
date":{"value":1462157645967},"researcher-
url":[{"created-date":{"value":1446663146890},"last-
modified-
date":{"value":1462157645967},"source":{"source-
orcid":{"uri":"http://orcid.org/0000-0002-1825-
0097","path":"0000-0002-1825-
0097","host":"orcid.org"},"source-client-
id":null,"source-
name":{"value":"JosiahCarberry"}},"url-
name":"BrownUniversityPage","url":{"value":"http://libr
ary.brown.edu/about/hay/carberry.php"},"visibility":"PU
BLIC","path":"/0000-0002-1825-0097/researcher-
urls/568395","put-code":568395,"display-
index":2},{"created-
date":{"value":1446663146889},"last-modified-
date":{"value":1462157645967},"source":{"source-
orcid":{"uri":"http://orcid.org/0000-0002-1825-
0097","path":"0000-0002-1825-
0097","host":"orcid.org"},"source-client-
id":null,"source-
name":{"value":"JosiahCarberry"}},"url-
name":"WikipediaEntry","url":{"value":"http://en.wikipe
dia.org/wiki/Josiah_Carberry"},"visibility":"PUBLIC","p
ath":"/0000-0002-1825-0097/researcher-
urls/568394","put-code":568394,"display-
index":1}],"path":"/0000-0002-1825-0097/researcher-
urls"}
Personal
Details
Keywords
Websites
10. v2.0 Reading ORCID Records
10
Sections returned in 2.0
Activities /activities
All biographical information /person
Address /address
Email /email
External Identifiers /external-identifiers
Keywords /keywords
Other names /other-names
Names and biography /personal-details
Websites /researcher-urls
11. v2.0 Reading ORCID Records
11
Read by section
Ex: Read activities ection
curl -H 'Content-Type: application/orcid+xml' -H 'Authorization: Bearer
f3f932ad-d645-4cdb-a6eb-be1beeb50fea'
'https://api.sandbox.orcid.org/v2.0_rc3/0000-0002-6945-7290/activities’
-L -i -k
...or use a put-code to read a single item
Ex: Read a single work
curl -H 'Content-Type: application/vdn.orcid+xml' -H 'Authorization:
Bearer 2e5b87f0-57c9-44a8-96d3-3bae005598a7' -X GET
'https://pub.sandbox.orcid.org/v2.0_rc3/0000-0002-6945-7290/work/708456'
-i
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3
12. Updating ORCID Records
12
v1.2Update everything
v2.0Update/delete individual items
Photo credit teadrinker https://flic.kr/p/4xpuTb CC BY ND Photo credit Christo de Klerk https://flic.kr/p/8LowuV CC BY
NC
13. v2.0 Updating ORCID Records
13
Update and Delete
● Update/delete items with your client ID as the source
● Need token with /activities/update scope
● URL format:
https://api.sandbox.orcid.org/v2.0_rc3/[ORCID]/[ACTIVITY
-TYPE]/[PUT-CODE]
Update a work:
curl -i -H 'Content-type: application/orcid+xml' -H 'Authorization:
Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@work-updated.xml' -X
PUT 'https://api.sandbox.orcid.org/v2.0_rc3/0000-0002-1306-
4180/work/12345'
Delete a work:
curl -i -H 'Content-type: application/orcid+xml' -H 'Authorization:
Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE
'https://api.sandbox.orcid.org/v2.0_rc3/0000-0002-1306-4180/work/12345'
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3
14. Permissions
14
v1.2lots of overlapping scopes
v2.04 scopes for all access
Photo credit Jenny Mackness https://flic.kr/p/qCEVha CC BY
NC SA
Photo credit mewewering https://pixabay.com/p-615239 CC0
16. v2.0 Permissions
v2.0 Scopes (just 4!)
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3
16
/authenticate get a user’s ORCID iD
/read-limited read public and limited information from
an ORCID record
/activities/update write, update, and delete items in the
activities section
/orcid-bio/update write, update, and delete items in the
biography section
17. Activities Summary
17
v1.2all the details for each
activity
v2.0activities summary
Photo credit j e r e m y https://flic.kr/p/wgSYTz CC BY NC ND Photo credit Aminul Islam Sajib https://flic.kr/p/mmuCPi CC
BY NC ND
20. v2.0 Activities Summary
20
Activities Summary
● Just the basics about each activity
○ title
○ type
○ dates
○ identifiers
○ creation/modification/source metadata
Get a summary:
curl -i -H "Accept: application/orcid+xml" -H
'Authorization: Bearer dd91868d-d29a-475e-9acb-
bd3fdf2f43f4'
'https://api.sandbox.orcid.org/v2.0_rc3/0000-0002-1306-
4180/activities'
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3
21. Ordering
21
v1.2no order
v2.0display index & groups
Photo credit hjhipster https://flic.kr/p/7guADn CC BY NCPhoto credit April Scott https://flic.kr/p/5EBaJb CC BY NC ND
24. v2.0 Ordering
24
v2.0 Display Order
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3
Section Display index is...
Bio Order of items set by the user
(highest number first)
Activities For items with the same external
ID (which are grouped in the
interface and API), order of an
item within its group (highest
number is preferred version)
All 0 until sorted by the user
26. External Identifiers
26
ISSN identifier in v1.2
ISSN identifier in v2.0
←Only default
links
Can’t tell if the identifier should
be used when creating groups
↓
27. v2.0 External Identifiers
27
New identifier fields
ID Relationship
<common:external-id-relationship>
indicates if the identifier is for the item itself (self) or a
larger whole (part-of)
ID URL
<common:external-id-url>
specifies where the identifier links out to
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3
30. v2.0 Source Info
30
Standardized Source Info
Items
<common:created-date>
<common:last-modified-date>
<common:source>
Groups
<common:last-modified-date>
Sections
<common:last-modified-date>
Last modified is hierarchical: when an item changes the dates on the
group and section are updated as well
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/common_2.0_rc3
31. Error Messages
31
v1.2human readable errors,
sometimes
v2.0detailed error messages &
reference
Photo credit Matthew https://flic.kr/p/5AEXKV CC BY NC ND Photo credit Jessica May Oyler
32. v1.2 Error Messages
32
<error-desc>javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 44; The
processing instruction target matching "[xX][mM][lL]" is not
allowed.]</error-desc>
<error-desc>com.sun.jersey.api.MessageException: A message body reader
for Java class org.orcid.jaxb.model.message.OrcidMessage, and Java type
class org.orcid.jaxb.model.message.OrcidMessage, and MIME media type
application/vdn.orcid was not found.
</error-desc>
<error-desc>javax.xml.bind.UnmarshalException: unexpected element
(uri:"", local:"orcid-message"). Expected elements are
<{http://www.orcid.org/ns/orcid}activities-visibility-
default>,<{http://www.orcid.org/ns/orcid}address>,<{http://www.orcid.
org/ns/orcid}affiliation>,<{http://www.orcid.org/ns/orcid}affiliation-
city>,<{http://www.orcid.org/ns/orcid}affiliation-
country>,<{http://www.orcid.org/ns/orcid}affiliation-
region>,<{http://www.orcid.org/ns/orcid}affiliation-type>,<{http://www.orcid.org/ns/orcid}agency-
name>,<{http://www.orcid.org/ns/orcid}agency-
orcid>,<{http://www.orcid.org/ns/common}amount>,<{http://www.orcid.org/ns/orcid}amount>,<{http://www.orcid.org/n
s/orcid}application-name>,<{http://www.orcid.org/ns/orcid}application-orcid>,<{http://www.orcid.org/ns/orcid}application-
summary>,<{http://www.orcid.org/ns/orcid}application-
website>,<{http://www.orcid.org/ns/orcid}applications>,<{http://www.orcid.org/ns/orcid}approval-
date>,<{http://www.orcid.org/ns/orcid}assignee>,<{http://www.orcid.org/ns/orcid}assignee-name>,<{http://www.orcid.org/ns/orcid}assignee-
orcid>,<{http://www.orcid.org/ns/notification}authorization-
url>,<{http://www.orcid.org/ns/orcid}biography>,<{http://www.orcid.org/ns/orcid}claimed>,<{http://www.orcid.org/ns/orcid}completion-
date>,<{http://www.orcid.org/ns/orcid}contact-
details>,<{http://www.orcid.org/ns/common}contributor>,<{http://www.orcid.org/ns/funding}contributor>,<{http://www.orcid.org/ns/orcid}contributor>
;,<{http://www.orcid.org/ns/common}contributor-attributes>,<{http://www.orcid.org/ns/orcid}contributor-
attributes>,<{http://www.orcid.org/ns/common}contributor-email>,<{http://www.orcid.org/ns/orcid}contributor-
email>,<{http://www.orcid.org/ns/common}contributor-orcid>,<{http://www.orcid.org/ns/orcid}contributor-
orcid>,<{http://www.orcid.org/ns/orcid}contributor-role>,<{http://www.orcid.org/ns/orcid}contributor-
sequence>,<{http://www.orcid.org/ns/funding}contributorAttributes>,<{http://www.orcid.org/ns/funding}contributors>,<{http://www.orcid.org/ns/common}
country>,<{http://www.orcid.org/ns/orcid}country>,<{http://www.orcid.org/ns/common}created-date>,<{http://www.orcid.org/ns/orcid}created-
date>,<{http://www.orcid.org/ns/orcid}creation-method>,<{http://www.orcid.org/ns/common}credit-name>,<{http://www.orcid.org/ns/orcid}credit-
33. v2.0 Error Messages
33
v2.0 Error message anatomy
Example:
<error xmlns="http://www.orcid.org/ns/error">
<response-code>400</response-code>
<developer-message>javax.ws.rs.WebApplicationException:
javax.xml.bind.UnmarshalException - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1779; cvc-complex-
type.2.4.a: Invalid content was found starting with element 'common:external-id-
relationship'. One of '{"http://www.orcid.org/ns/common":external-id-value}' is
expected.]</developer-message>
<user-message>ORCID could not process the data, because they were
invalid.</user-message>
<error-code>9001</error-code>
<more-info>http://members.orcid.org/api/api-error-codes</more-
info></error>
See: http://members.orcid.org/api/api-error-codes
<response-code> HTML status code
<developer-message> Details about what went wrong
<user-message> Friendly message you should display to users
<error-code> ORCID code for more info on how to fix the error
34. Sacred Fields
34
v1.2overwrite user data
v2.0fields are sacred to user
Photo credit Jeff Warren https://flic.kr/p/z6K1L CC BY SA Photo credit Hans Hillewaert
https://commons.wikimedia.org/wiki/File:Rosetta_Stone.JPG
CC BY SA
36. v2.0 Sacred Fields
36
Some fields can only be edited by the
user
● <personal-details:given-names>
● <personal-details:family-name>
● <personal-details:credit-name>
● <person:biography>
Generally, fields that can only be edited by users are non-repeatable,
except...
Email field cannot be edited! (security feature)
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3
37. XSD
37
v1.2One messy XSD
v2.0multiple pieces &
consistency
Photo credit Bomba Rosa https://flic.kr/p/eQ8ioT CC BY ND Photo credit proacguy1
https://commons.wikimedia.org/w/index.php?curid=34109180
CC BY SA
39. v1.2 XSD
39
Stuff that’s in the 1.2 XSD
Internal fields
Stuff we never
supported
Items we stopped using
40. v2.0 XSD
40
1.2: Same elements in multiple XSDs
Name spaces used in the XML document
2.0: Common XSD for repeated elements
● Item metadata
● Source
● External identifiers
● Dates
● Organizations
● Language
● URLs
● ORCID iDs
See: https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/common_2.0_rc3
The gif is a 7 second loop, reading the full record took 45 seconds and was too much to fit into a presentation
With 2.0 you can now read specific sections of the ORCID record including each of the biographical sections, as compared to 1.2 where you had to read the entire biographical section.
Complete list of sections available in v2.0_rc3
In addition, each item on the ORCID record has a unique put-code to identify it and you can access individual items by including the put-code in the call. You can still access the entire biographical section or the entire activities section, as was possible with 1.2
With the 1.2 API updates had to be made to an entire section, and deleting an item involved putting all items you are the source of and leaving out the item to be deleted. With 2.0 updated can be made to individual items using put-codes and items can be deleted individually. As with 1.2, you can only update or delete items which you created.
Requesting access with all useful 1.2 scopes. There are even more that are valid (like /orcid-patents/read-limited) that don’t actually do anything.
Previously we had more than 12 scopes used to read, create, and update each section within activities as well as the biography section. With 2.0 we’re condensed the scopes into 4 broad areas, and using just three (/read-limited, /activities/update and orcid-bio/update) will get you full access to the ORCID record. Scopes are compatible between versions; older tokens created using 1.2 scopes will work when making 2.0 calls, and the new scopes available with 2.0 can be used now by integrations still reading and posting with version 1.2.
If all you’re looking for is the DOI, you still have to get the entire work and this one only have 4 contributors, some have hundreds
Much better- for a quick overview
In the 1.2 API all information in the activities section was returned when it was accessed. With 2.0 items, when reading an entire section an activities summary of each item (including its identifier) is returned, make the full list easier to process- the full information can be accessed by reading the item individually using a put-code. By limiting the information returned, the activities summary allows large records to be read without time out errors
Biographical items are returned alphabetically, not in the user selected order.
XML for a single keyword record including the display index
1.2 used alphabetical order in the biography sections and a last in order when reading activities. With 2.0 the user can sort items in the biography section and can select their prefered version of activities in a group. This ranking is reflected in the API using the display index attribute. In addition, in the 2.0 API activities that are grouped together in the UI based on identifier are returned in the API together in a activities group taghttps://www.smashingmagazine.com/2009/09/the-z-index-css-property-a-comprehensive-look/
The relationship tag is set to self when it refers to the object itself (like a DOI for a journal article or a personal identifier) or part-of when it’s for a larger whole (like an isbn for a book chapter or an issn for a journal article). The URL field is optional, and can be used to provide a URL when there is not a default or to specify a location at a specific database.
URL addresses cases where the identifier could go to one of multiple sources (like pubmed ids going to US or Europe PubMed) or where the identifier type doesn’t automatically link to a whole
The relationship tag is set to ‘self’ when it refers to the object itself (like a DOI for a journal article or a personal identifier) or ‘part-of’ when it’s for a larger whole (like an isbn for a book chapter or an issn for a journal article). The URL field is optional, and can be used to provide a URL when there is not a default or to specify a location at a specific database.
URL addresses cases where the identifier could go to one of multiple sources (like pubmed ids going to US or Europe PubMed) or where the identifier type doesn’t automatically link to a whole
The 1.2 API returns source information, on some items. With 2.0 source is returned on all items and the created-date and last-modified date provide information about when the field or section was last updated. Last modified hierarchical.
Errors are, posting a badly formed document, trying to post with a badly formed call, and trying to post XML missing a required element
We hope with the improved error message, particularly the <user-message> section, integrations will be able to display more useful messages to users and be able to more quickly fix user reported errors.
-> USE the <user-message>
Names were added by the Chinese Academy of Science on record creation.
While the given-name, family-name, and credit-name can not be edited via the API, members wishing to post additional names for the researcher can use the other-name field. The email section can no longer be edited by the API as any email address on the record can be used to reset the password and take control of the record and there is potentially for this to be used maliciously.
In 1.2 commons fields, such as external identifiers on items, were expressed in different ways depending on where the field was used in the schema
common: prefix used in examples is from common schema, others for different sections
common: prefix used in examples is from common schema, others for different sections
The 2.0 schema is cleaner and better organized and unused sections have been removed.
common: prefix used in examples is from common schema, others for different sections
A new section of the ORCID record allow members to post peer-review activity using the 2.0 API. Given the nature of peer-review users can not record their own peer-review activity and the peer-review section does not appear on the record until an item has been added to it.