orcid_client 0.2.3 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +120 -43
  3. data/lib/orcid_client/api.rb +1 -1
  4. data/lib/orcid_client/author.rb +2 -49
  5. data/lib/orcid_client/date.rb +3 -3
  6. data/lib/orcid_client/external_identifier.rb +1 -1
  7. data/lib/orcid_client/notification.rb +3 -5
  8. data/lib/orcid_client/version.rb +1 -1
  9. data/lib/orcid_client/work.rb +23 -28
  10. data/lib/orcid_client.rb +2 -0
  11. data/orcid_client.gemspec +5 -4
  12. data/resources/{common_2.0_rc3/common-2.0_rc3.xsd → common_2.0/common-2.0.xsd} +68 -49
  13. data/resources/{common_2.0_rc3/samples/common-2.0_rc3.xml → common_2.0/samples/common-2.0.xml} +1 -1
  14. data/resources/notification_2.0/README.md +123 -0
  15. data/resources/notification_2.0/notification-custom-2.0.xsd +38 -0
  16. data/resources/notification_2.0/notification-permission-2.0.xsd +134 -0
  17. data/resources/{notification_2.0_rc3/samples/notification-custom-2.0_rc3.xml → notification_2.0/samples/notification-custom-2.0.xml} +3 -3
  18. data/resources/{notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml → notification_2.0/samples/notification-permission-2.0.xml} +2 -2
  19. data/resources/record_2.0/README.md +304 -0
  20. data/resources/{record_2.0_rc3/activities-2.0_rc3.xsd → record_2.0/activities-2.0.xsd} +79 -46
  21. data/resources/{record_2.0_rc3/address-2.0_rc3.xsd → record_2.0/address-2.0.xsd} +1 -1
  22. data/resources/{record_2.0_rc3/bulk-2.0_rc3.xsd → record_2.0/bulk-2.0.xsd} +12 -12
  23. data/resources/{record_2.0_rc3/education-2.0_rc3.xsd → record_2.0/education-2.0.xsd} +5 -5
  24. data/resources/{record_2.0_rc3/email-2.0_rc3.xsd → record_2.0/email-2.0.xsd} +3 -1
  25. data/resources/{record_2.0_rc3/employment-2.0_rc3.xsd → record_2.0/employment-2.0.xsd} +5 -5
  26. data/resources/{record_2.0_rc3/error-2.0_rc3.xsd → record_2.0/error-2.0.xsd} +0 -0
  27. data/resources/{record_2.0_rc3/funding-2.0_rc3.xsd → record_2.0/funding-2.0.xsd} +5 -49
  28. data/resources/{record_2.0_rc3/history-2.0_rc3.xsd → record_2.0/history-2.0.xsd} +1 -1
  29. data/resources/{record_2.0_rc3/keyword-2.0_rc3.xsd → record_2.0/keyword-2.0.xsd} +2 -2
  30. data/resources/{record_2.0_rc3/other-name-2.0_rc3.xsd → record_2.0/other-name-2.0.xsd} +2 -2
  31. data/resources/{record_2.0_rc3/peer-review-2.0_rc3.xsd → record_2.0/peer-review-2.0.xsd} +4 -4
  32. data/resources/record_2.0/peer-review-guide-v2.0.md +131 -0
  33. data/resources/{record_2.0_rc3/person-2.0_rc3.xsd → record_2.0/person-2.0.xsd} +8 -21
  34. data/resources/{record_2.0_rc3/person-external-identifier-2.0_rc3.xsd → record_2.0/person-external-identifier-2.0.xsd} +1 -1
  35. data/resources/{record_2.0_rc3/personal-details-2.0_rc3.xsd → record_2.0/personal-details-2.0.xsd} +5 -7
  36. data/resources/{record_2.0_rc3/preferences-2.0_rc3.xsd → record_2.0/preferences-2.0.xsd} +1 -1
  37. data/resources/{record_2.0_rc3/record-2.0_rc3.xsd → record_2.0/record-2.0.xsd} +16 -23
  38. data/resources/{record_2.0_rc3/researcher-url-2.0_rc3.xsd → record_2.0/researcher-url-2.0.xsd} +2 -2
  39. data/resources/{record_2.0_rc3/samples/activities-2.0_rc3.xml → record_2.0/samples/read_samples/activities-2.0.xml} +24 -12
  40. data/resources/{record_2.0_rc3/samples/address-2.0_rc3.xml → record_2.0/samples/read_samples/address-2.0.xml} +1 -1
  41. data/resources/{record_2.0_rc3/samples/addresses-2.0_rc3.xml → record_2.0/samples/read_samples/addresses-2.0.xml} +1 -1
  42. data/resources/{record_2.0_rc3/samples/biography-2.0_rc3.xml → record_2.0/samples/read_samples/biography-2.0.xml} +2 -2
  43. data/resources/record_2.0/samples/read_samples/bulk-work-error.xml +45 -0
  44. data/resources/{record_2.0_rc3/samples/credit-name-2.0_rc3.xml → record_2.0/samples/read_samples/credit-name-2.0.xml} +2 -2
  45. data/resources/{record_2.0_rc3/samples/education-full-2.0_rc3.xml → record_2.0/samples/read_samples/education-2.0.xml} +1 -1
  46. data/resources/{record_2.0_rc3/samples/education-2.0_rc3.xml → record_2.0/samples/read_samples/education-full-2.0.xml} +12 -2
  47. data/resources/record_2.0/samples/read_samples/educations-2.0.xml +52 -0
  48. data/resources/{record_2.0_rc3/samples/email-2.0_rc3.xml → record_2.0/samples/read_samples/email-2.0.xml} +2 -2
  49. data/resources/{record_2.0_rc3/samples/emails-2.0_rc3.xml → record_2.0/samples/read_samples/emails-2.0.xml} +3 -3
  50. data/resources/{record_2.0_rc3/samples/employment-full-2.0_rc3.xml → record_2.0/samples/read_samples/employment-2.0.xml} +1 -1
  51. data/resources/{record_2.0_rc3/samples/employment-2.0_rc3.xml → record_2.0/samples/read_samples/employment-full-2.0.xml} +14 -4
  52. data/resources/record_2.0/samples/read_samples/employments-2.0.xml +52 -0
  53. data/resources/{record_2.0_rc3/samples/error-2.0_rc3.xml → record_2.0/samples/read_samples/error-2.0.xml} +1 -1
  54. data/resources/{record_2.0_rc3/samples/external-identifier-2.0_rc3.xml → record_2.0/samples/read_samples/external-identifier-2.0.xml} +3 -2
  55. data/resources/{record_2.0_rc3/samples/external-identifiers-2.0_rc3.xml → record_2.0/samples/read_samples/external-identifiers-2.0.xml} +5 -3
  56. data/resources/{record_2.0_rc3/samples/funding-full-2.0_rc3.xml → record_2.0/samples/read_samples/funding-2.0.xml} +2 -2
  57. data/resources/{record_2.0_rc3/samples/funding-2.0_rc3.xml → record_2.0/samples/read_samples/funding-full-2.0.xml} +13 -3
  58. data/resources/record_2.0/samples/read_samples/fundings-2.0.xml +138 -0
  59. data/resources/{record_2.0_rc3/samples/history-2.0_rc3.xml → record_2.0/samples/read_samples/history-2.0.xml} +1 -1
  60. data/resources/{record_2.0_rc3/samples/keyword-2.0_rc3.xml → record_2.0/samples/read_samples/keyword-2.0.xml} +1 -1
  61. data/resources/{record_2.0_rc3/samples/keywords-2.0_rc3.xml → record_2.0/samples/read_samples/keywords-2.0.xml} +1 -1
  62. data/resources/{record_2.0_rc3/samples/name-2.0_rc3.xml → record_2.0/samples/read_samples/name-2.0.xml} +1 -1
  63. data/resources/{record_2.0_rc3/samples/other-name-2.0_rc3.xml → record_2.0/samples/read_samples/other-name-2.0.xml} +1 -1
  64. data/resources/{record_2.0_rc3/samples/other-names-2.0_rc3.xml → record_2.0/samples/read_samples/other-names-2.0.xml} +1 -1
  65. data/resources/{record_2.0_rc3/samples/peer-review-full-2.0_rc3.xml → record_2.0/samples/read_samples/peer-review-2.0.xml} +1 -1
  66. data/resources/{record_2.0_rc3/samples/peer-review-2.0_rc3.xml → record_2.0/samples/read_samples/peer-review-full-2.0.xml} +18 -8
  67. data/resources/record_2.0/samples/read_samples/peer-reviews-2.0.xml +73 -0
  68. data/resources/{record_2.0_rc3/samples/person-2.0_rc3.xml → record_2.0/samples/read_samples/person-2.0.xml} +1 -1
  69. data/resources/{record_2.0_rc3/samples/personal-details-2.0_rc3.xml → record_2.0/samples/read_samples/personal-details-2.0.xml} +1 -1
  70. data/resources/{record_2.0_rc3/samples/preferences-2.0_rc3.xml → record_2.0/samples/read_samples/preferences-2.0.xml} +1 -1
  71. data/resources/{record_2.0_rc3/samples/record-2.0_rc3.xml → record_2.0/samples/read_samples/record-2.0.xml} +73 -85
  72. data/resources/{record_2.0_rc3/samples/researcher-url-2.0_rc3.xml → record_2.0/samples/read_samples/researcher-url-2.0.xml} +1 -1
  73. data/resources/{record_2.0_rc3/samples/researcher-urls-2.0_rc3.xml → record_2.0/samples/read_samples/researcher-urls-2.0.xml} +1 -1
  74. data/resources/record_2.0/samples/read_samples/search-2.0.xml +14 -0
  75. data/resources/{record_2.0_rc3/samples/work-full-2.0_rc3.xml → record_2.0/samples/read_samples/work-2.0.xml} +5 -5
  76. data/resources/{record_2.0_rc3/samples/work-2.0_rc3.xml → record_2.0/samples/read_samples/work-full-2.0.xml} +14 -4
  77. data/resources/record_2.0/samples/read_samples/works-2.0.xml +146 -0
  78. data/resources/record_2.0/samples/write_sample/address-2.0.xml +6 -0
  79. data/resources/{record_2.0_rc3/samples/bulk-work-2.0_rc3.json → record_2.0/samples/write_sample/bulk-work-2.0.json} +55 -55
  80. data/resources/{record_2.0_rc3/samples/bulk-work-2.0_rc3.xml → record_2.0/samples/write_sample/bulk-work-2.0.xml} +18 -11
  81. data/resources/record_2.0/samples/write_sample/education-2.0.xml +30 -0
  82. data/resources/record_2.0/samples/write_sample/employment-2.0.xml +30 -0
  83. data/resources/record_2.0/samples/write_sample/external-identifier-2.0.xml +11 -0
  84. data/resources/record_2.0/samples/write_sample/funding-2.0.xml +44 -0
  85. data/resources/record_2.0/samples/write_sample/keyword-2.0.xml +7 -0
  86. data/resources/record_2.0/samples/write_sample/other-name-2.0.xml +6 -0
  87. data/resources/record_2.0/samples/write_sample/peer-review-full-2.0.xml +48 -0
  88. data/resources/record_2.0/samples/write_sample/peer-review-simple-2.0.xml +32 -0
  89. data/resources/record_2.0/samples/write_sample/researcher-url-2.0.xml +7 -0
  90. data/resources/record_2.0/samples/write_sample/work-full-2.0.xml +54 -0
  91. data/resources/record_2.0/samples/write_sample/work-simple-2.0.xml +18 -0
  92. data/resources/{record_2.0_rc3/search-2.0_rc3.xsd → record_2.0/search-2.0.xsd} +6 -26
  93. data/resources/{record_2.0_rc3/work-2.0_rc3.xsd → record_2.0/work-2.0.xsd} +8 -129
  94. data/spec/api_spec.rb +3 -3
  95. data/spec/external_identifier_spec.rb +2 -2
  96. data/spec/fixtures/external_identifier.xml +1 -1
  97. data/spec/fixtures/vcr_cassettes/OrcidClient/external_identifier/delete/should_delete_external_identifier.yml +17 -5
  98. data/spec/fixtures/vcr_cassettes/OrcidClient/external_identifier/post/should_create_external_identifier.yml +19 -7
  99. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/delete/should_delete_notification.yml +19 -6
  100. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/get/should_get_notification.yml +20 -6
  101. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/post/should_create_notification.yml +90 -25
  102. data/spec/fixtures/vcr_cassettes/OrcidClient/works/delete/should_delete_work.yml +17 -5
  103. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +554 -543
  104. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +90 -25
  105. data/spec/fixtures/vcr_cassettes/OrcidClient/works/put/should_update_work.yml +99 -28
  106. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +72 -17
  107. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +70 -17
  108. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +72 -14
  109. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +72 -20
  110. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +72 -20
  111. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +72 -23
  112. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +75 -133
  113. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +72 -23
  114. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +72 -23
  115. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +75 -133
  116. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +72 -23
  117. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +72 -20
  118. data/spec/fixtures/work.xml +4 -2
  119. data/spec/notification_spec.rb +4 -4
  120. data/spec/work_spec.rb +6 -6
  121. metadata +122 -80
  122. data/lib/orcid_client/metadata.rb +0 -128
  123. data/resources/notification_2.0_rc3/notification-custom-2.0_rc3.xsd +0 -32
  124. data/resources/notification_2.0_rc3/notification-permission-2.0_rc3.xsd +0 -128
  125. data/resources/record_2.0_rc3/deprecated-2.0_rc3.xsd +0 -80
  126. data/resources/record_2.0_rc3/internal-2.0_rc3.xsd +0 -199
  127. data/resources/record_2.0_rc3/samples/deprecated-2.0_rc3.xml +0 -13
  128. data/resources/record_2.0_rc3/samples/search-2.0_rc3.xml +0 -368
  129. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/citation.yml +0 -50
@@ -0,0 +1,304 @@
1
+ # ORCID API v2.0 Guide
2
+
3
+ ## Current State (Release Stable)
4
+ v2.0 is the current release of the ORCID API and should be used for all development.
5
+
6
+ ## XSDs and current state (all stable)
7
+ - [activities-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/activities-2.0.xsd)
8
+ **stable**
9
+ - [address-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/address-2.0.xsd)
10
+ **stable**
11
+ - [bulk-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/bulk-2.0.xsd)
12
+ **stable**
13
+ - [common-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/common_2.0/common-2.0.xsd)
14
+ **stable**
15
+ - [education-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/education-2.0.xsd)
16
+ **stable**
17
+ - [email-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/email-2.0.xsd)
18
+ **stable**
19
+ - [employment-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/employment-2.0.xsd)
20
+ **not stable**
21
+ - [error-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/error-2.0.xsd)
22
+ **stable**
23
+ - [external-identifier-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/external-identifier-2.0.xsd)
24
+ **stable**
25
+ - [funding-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/funding-2.0.xsd)
26
+ **stable**
27
+ - [keyword-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/keyword-2.0.xsd)
28
+ **stable**
29
+ - [other-names-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/other-name-2.0.xsd)
30
+ **stable**
31
+ - [peer-review-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/peer-review-2.0.xsd)
32
+ **stable**
33
+ - [person-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/person-2.0.xsd)
34
+ **stable**
35
+ - [personal-details-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/personal-details-2.0.xsd)
36
+ **stable**
37
+ - [researcher-url-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/researcher-url-2.0.xsd)
38
+ **stable**
39
+ - [search-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/search-2.0.xsd)
40
+ **stable**
41
+ - [work-2.0.xsd](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/work-2.0.xsd)
42
+ **stable**
43
+
44
+ ## Changes from Release candidate 2.0_rc3:
45
+ ### Search
46
+ - Addition of search endpoints
47
+
48
+ ### Peer-review
49
+ - Change external-id-type 'PEER-REVIEW' to 'peer-review'
50
+ - Addition of 'peer-review service' as a group type for peer-reviews
51
+ - Peer-review groups look-up by name option
52
+
53
+ ### Email addresses
54
+ - Include primary and verified status when reading an email address
55
+
56
+ ## Changes from Version 1.2
57
+ A number of changes to the ORCID API have been made to improve on the existing 1.2 release, this section highlights the most notable changes.
58
+
59
+ ### Multiple XSD
60
+ The ORCID Messages Schema has been broken down in to multiple files. Namespaces are now used and common elements are reused in multiple sections.
61
+
62
+ ### Per item API
63
+ With version 2.0 the ORCID API information is now added, updated, and read as individual items, as compared to entire sections of a record as was the case with 1.2. Existing items are read, updated or deleted using their put-code, and new items must be posted individually (with the exception of works which can be added up to 100 at a time). To read an entire section of a record the activities summary can be accessed.
64
+
65
+ ### Activities summary:
66
+ When reading the works, funding, and peer-review sections, a summary of each activity is returned. The summary is intended to provide basic information about the item, including title, type, date, organization, source and identifiers. The full item can be retrieved by accessing the individual item using the put-code provided.
67
+
68
+ ### Activities group:
69
+
70
+ Funding, Works and Peer-review items are grouped together based on a common external identifier. In the schema, the group is the parent of the items and contains a last modified date for the group and the identifier(s) used to create the group.
71
+
72
+ ### New attributes for items
73
+ - *put-code* attribute on the parent field of an item to uniquely identify that item within the ORCID Registry
74
+ - *display-index* indicates the order the researcher has ranked this item within its group or section, higher display indexes appear first. (By deafulat all items added via the API will have their display index set to 0, the display index will update when the order is edited by the researcher.)
75
+
76
+ ### Additional metadata about items on the record
77
+ - *created date* when the item was first added to the ORCID record
78
+ - *last-modified-date* when the item was changed, such as being edited or having it's visibility changed.
79
+ - *source* who added the item to the record. Items added via the API will have the *source-client-id* field to record the client iD, items added by the researcher will use the *source-orcid* field to record the researcher's ORCID iD.
80
+
81
+ ### Additional external identifier fields
82
+ - *external-id-url* indicates how the identifier will resolve
83
+ - *external-id-relationship* indicates the relationship between the item and the identifier
84
+
85
+ ### Peer-review
86
+ A new activities section, peer-review, captures the formal review activity of researchers.
87
+
88
+ ### Non-editable fields
89
+ The 2.0 API can not be used to edit the fields give-name, family-name or biography.
90
+
91
+ ### Repeatable address field
92
+ With 2.0 the address field can be repeated
93
+
94
+
95
+ ## Sample files:
96
+
97
+ - [read activities-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/activities-2.0.xml)
98
+ - [read address-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/address-2.0.xml)
99
+ - [write address-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/address-2.0.xml)
100
+ - [write bulk-work xml-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_samples/bulk-work-2.0.xml)
101
+ - [write bulk-work-2.0.json](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_samples/bulk-work-2.0.json)
102
+ - [read biography-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/biography-2.0.xml)
103
+ - [read education-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/education-2.0.xml)
104
+ - [write education-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/education-2.0.xml)
105
+ - [read educations-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/educations-2.0.xml)
106
+ - [read email-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/email-2.0.xml)
107
+ - [read emails-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/emails-2.0.xml)
108
+ - [read employment-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/employment-2.0.xml)
109
+ - [write employment-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/employment-2.0.xml)
110
+ - [read employments-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/employments-2.0.xml)
111
+ - [error-message-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/error-2.0.xml)
112
+ - [read external-identifier-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/external-identifier-2.0.xml)
113
+ - [write external-identifier-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/external-identifier-2.0.xml)
114
+ - [read external-identifiers-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/external-identifiers-2.0.xml)
115
+ - [read funding-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/funding-2.0.xml)
116
+ - [write funding-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/funding-2.0.xml)
117
+ - [read fundings-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/fundings-2.0.xml)
118
+ - [read keyword-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/keyword-2.0.xml)
119
+ - [write keyword-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/keyword-2.0.xml)
120
+ - [keywords-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/keywords-2.0.xml)
121
+ - [read other-name-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/other-name-2.0.xml)
122
+ - [write other-name-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/other-name-2.0.xml)
123
+ - [read other-names-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/other-names-2.0.xml)
124
+ - [read peer-review-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/peer-review-2.0.xml)
125
+ - [write full peer-review-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/peer-review-full-2.0.xml)
126
+ - [write simple peer-review-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/peer-review-simple-2.0.xml)
127
+ - [read peer-reviews-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/peer-reviews-2.0.xml)
128
+ - [read person-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/person-2.0.xml)
129
+ - [read personal-details-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/personal-details-2.0.xml)
130
+ - [read researcher-url-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/researcher-url-2.0.xml)
131
+ - [write researcher-url-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/researcher-url-2.0.xml)
132
+ - [read researcher-urls-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/researcher-urls-2.0.xml)
133
+ - [search-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/search-2.0.xml)
134
+ - [read work-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/work-2.0.xml)
135
+ - [write full work-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/work-full-2.0.xml)
136
+ - [write simple work-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/write_sample/work-simple-2.0.xml)
137
+ - [read works-2.0.xml](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/works-2.0.xml)
138
+
139
+ ## REST API Reference
140
+
141
+ ### Swagger
142
+
143
+ The swagger interfaces to the API available at:
144
+ - [member](https://api.orcid.org/v2.0/)
145
+ - [public](https://pub.orcid.org/v2.0/)
146
+
147
+ ### Scopes
148
+ | Scope | Request method | Obtain Access Token Through | Expires In | API |
149
+ |-----------------|-------------|--------------------------|----------------------------------|-------------|
150
+ | /authenticate | No API call. Client retrieves access token only.| 3-legged OAuth| Single authentication | Public API and Member API |
151
+ | /activities/update |POST, PUT, DELETE| 3-legged OAuth| When expired or revoked by user | Member API |
152
+ | /person/update |POST, PUT, DELETE| 3-legged OAuth| When expired or revoked by user | Member API |
153
+ | /read-limited |GET| 3-legged OAuth| When expired or revoked by user | Member API |
154
+ | /read-public |GET| Client credentials| When revoked by ORCID | Public API and Member API |
155
+ | /webhook |PUT, DELETE| Client credentials| When revoked by ORCID | Premium Member API |
156
+
157
+
158
+ ### Calls
159
+ | Action | HTTP method | Scope | URL |
160
+ |-------------------------|-------------|--------------------------|----------------------------------------------------------|
161
+ | Read the entire record | GET | /read-limited or /read-public | https://[HOST]/v2.0/[ORCID]/record |
162
+ | Read an activities section | GET | /read-limited or /read-public | https://[HOST]/v2.0/[ORCID]/[SECTION]s |
163
+ | Read a person section | GET | /read-limited or /read-public | https://[HOST]/v2.0/[ORCID]/[SECTION] |
164
+ | Read a single item | GET | /read-limited or /read-public | https://[HOST]/v2.0/[ORCID]/[SECTION]/[PUT-CODE] |
165
+ | Add a person item | POST | /person/update | https://[HOST]/v2.0/[ORCID]/[SECTION] |
166
+ | Update a person item | PUT | /person/update | https://[HOST]/v2.0/[ORCID]/[SECTION]/[PUT-CODE] |
167
+ | Delete a person item | DELETE | /person/update | https://[HOST]/v2.0/[ORCID]/[SECTION]/[PUT-CODE] |
168
+ | Add an activity | POST | /activities/update | https://[HOST]/v2.0/[ORCID]/[SECTION] |
169
+ | Update an activity | PUT | /activities/update | https://[HOST]/v2.0/[ORCID]/[SECTION]/[PUT-CODE] |
170
+ | Delete an activity | DELETE | /activities/update | https://[HOST]/v2.0/[ORCID]/[SECTION]/[PUT-CODE] |
171
+ | Add multiple works| POST | /read-limited or /read-public | https://[HOST]/v2.0/[ORCID]/works |
172
+ | Read multiple works| GET | /activities/update | https://[HOST]/v2.0/[ORCID]/works/[PUT-CODE1],[PUT-CODE2] |
173
+ | Search records | GET | /read-public | https://[HOST]/v2.0/search?q=[SOLR-QUERY]* |
174
+
175
+ [HOST] is the ORCID environment you are using
176
+ - api.sandbox.orcid.org for the Member API on the ORCID Sandbox
177
+ - pub.sandbox.orcid.org for the Public API on the ORCID Sandbox (/read-public scope only)
178
+ - api.orcid.org for the Member API on the production ORCID Registry
179
+ - pub.orcid.org for the Public API on the production ORCID Registry (/read-public scope only)
180
+
181
+ [ORCID] is the ORCID iD for the record.
182
+
183
+ [SECTION] can be one of the following:
184
+ - activities
185
+ - address
186
+ - biography *
187
+ - education
188
+ - email *
189
+ - employment
190
+ - external-identifiers
191
+ - funding
192
+ - keywords
193
+ - other-names
194
+ - researcher-urls
195
+ - peer-review
196
+ - person *
197
+ - personal-details *
198
+ - work
199
+
200
+ **Notes:**
201
+ - biography, email, person and personal-details sections are read only
202
+ - when reading multiple works a maximum of 50 works can be accessed with a single call, when posting multiple works a maximum of 100 works can be posted with a single call.
203
+ - When searching by default a maximum of 100 results will be returned. The `rows` parameter can be used to increase the number or results, but only up to 200. The `start` parameter (integer pointing to the zero-based position of the first result to be returned) can be used to page through larger results sets.
204
+ - [Help with SOLR searching](https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser)
205
+
206
+ ## Examples
207
+
208
+ ### Read sections
209
+
210
+ | Item |Scope | Example cURL Statement |
211
+ |--------------------|--------------------------|----------------------------------------------------------------|
212
+ | Entire record | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/record'```|
213
+ | Activities summary | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/activities'```|
214
+ | Addresses | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/address'```|
215
+ | Education items | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/educations'```|
216
+ | Emails | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/email'```|
217
+ | Employment items | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/employments'```|
218
+ | External identifiers | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/external-identifiers'```|
219
+ | Funding summary | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/fundings'```|
220
+ | Keywords | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/keywords'```|
221
+ | Other names | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/other-names'```|
222
+ | Peer review summary| /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/peer-reviews'```|
223
+ | Personal details | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/personal-details'```|
224
+ | Person | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/person'```|
225
+ | Researcher URLs | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/researcher-urls'```|
226
+ | Works summary | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/works'```|
227
+
228
+
229
+ ### Read Record Items
230
+ | Item |Scope | Example cURL Statement |
231
+ |--------------------|--------------------------|----------------------------------------------------------------|
232
+ | Address | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/address/4556'```|
233
+ | Biography | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/biography'```|
234
+ | Education | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/education/22423'```|
235
+ | Employment | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/employment/22411'```|
236
+ | External identifier| /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/external-identifiers/3193'```|
237
+ | Funding | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/funding/4413'```|
238
+ | Keywords | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/keywords/4504'```|
239
+ | Other names | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/other-names/15812'```|
240
+ | Peer review | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/peer-review/1374'```|
241
+ | Researcher URL | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/researcher-urls/41387'```|
242
+ | Work | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/work/733536'```|
243
+ | Multiple Works | /read-limited or /read-public|```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/works/733535,733536'```|
244
+
245
+ When reading multiple works the contents of each work is returned or an error code is returned if there is an issue with a single work.
246
+
247
+
248
+ ### Add Record Items
249
+ |Item |Scope | Example cURL Statement |
250
+ |---------|----------------|-------------------------|
251
+ | Address |/person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/address.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/address```|
252
+ | Education |/activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/education-item.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/education' ```|
253
+ | Employment | /activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/employment-item.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/employment' ```|
254
+ | External identifiers | /person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/external_identifier.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/external-identifiers```|
255
+ | Funding |/activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/funding-item.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/funding'```|
256
+ | Keywords |/person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/keyword.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/keywords```|
257
+ | Other names |/person/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/other-name.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/other-names'```|
258
+ | Peer review |/activities/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/peer-review-item.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/peer-review'```|
259
+ | Researcher URL |/person/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/researcher-url.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/researcher-urls'```|
260
+ | Work |/activities/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/work.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/work'```|
261
+ | Multiple works |/activities/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/works.xml' -X POST 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/works'```|
262
+
263
+ When posting multiple works the contents of each work is returned or an error code is returned if there is an issue with a single work, see [bulk work error sample](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/samples/read_samples/bulk-work-error.xml).
264
+
265
+ ### Update Record Items
266
+ |Item |Scope | Example cURL Statement |
267
+ |------|----------------|---------------------|
268
+ | Address |/person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/address.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/address/[PUT-CODE]```|
269
+ | Education |/activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/education-item-updated.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/education/[PUT-CODE]' ```|
270
+ | Employment | /activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/employment-item-updated.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/employment/[PUT-CODE]' ```|
271
+ | External identifiers |/person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/external_identifier.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/external-identifiers/[PUT-CODE]```|
272
+ | Funding |/activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/funding-item-updated.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/funding/[PUT-CODE]'```|
273
+ | Keywords |/person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/keyword.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/keywords/[PUT-CODE]```|
274
+ | Other names |/person/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/other-name.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/other-names/[PUT-CODE]'```|
275
+ | Peer review |/activities/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/peer-review-item-updated.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/peer-review/[PUT-CODE]'```|
276
+ | Researcher URL |/person/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/researcher-url.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/researcher-urls/[PUT-CODE]'```|
277
+ | Work |/activities/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -d '@[FILE-PATH]/work-updated.xml' -X PUT 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/work/[PUT-CODE]'```|
278
+
279
+ When updating a record item, include the put code as an attribute in the root element, ex: ```<education:education put-code="14775" xmlns:common="http://www.orcid.org/ns/common" xmlns:education="http://www.orcid.org/ns/education" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.orcid.org/ns/education ../education-2.0.xsd ">```
280
+
281
+ ### Delete Record Items
282
+ |Item | Scope | Example cURL Statement |
283
+ |------|----------------|-------------------------|
284
+ | Address | /person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/address/[PUT-CODE]```|
285
+ | Education | /activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/education/[PUT-CODE]' ```|
286
+ | Employment | /activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/employment/[PUT-CODE]' ```|
287
+ | External identifiers | /person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/external-identifiers/[PUT-CODE]```|
288
+ | Funding | /activities/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/funding/[PUT-CODE]'```|
289
+ | Keywords | /person/update |```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/keywords/[PUT-CODE]```|
290
+ | Other names | /person/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/researcher-urls/[PUT-CODE]'```|
291
+ | Peer review | /activities/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/peer-review/[PUT-CODE]'```|
292
+ | Researcher URL | /person/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/researcher-urls/[PUT-CODE]'```|
293
+ | Work |/activities/update|```curl -i -H 'Content-type: application/vnd.orcid+xml' -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'https://api.sandbox.orcid.org/v2.0/0000-0002-9227-8514/work/[PUT-CODE]'```|
294
+
295
+ ### Webhooks
296
+ |Item | Scope | Example cURL Statement |
297
+ |------|----------------|-------------------------|
298
+ | Register a webhook | /webhook|```curl -v -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X PUT 'http://api.sandbox.orcid.org/0000-0002-9227-8514/webhook/http%3A%2F%2Fencoded.url%2F0000-0002-9227-8514'```|
299
+ | Delete a webhook | /webhook |```curl -v -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' -X DELETE 'http://api.sandbox.orcid.org/0000-0002-9227-8514/webhook/http%3A%2F%2Fencoded.url%2F0000-0002-9227-8514' ```|
300
+
301
+ ### Search
302
+ | Item | Scope | Example cURL Statement |
303
+ |--------------------|--------------------------|-------------------------------------------------------|
304
+ | Search records | /read-public | ```curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.0/search?q=Simpson'```|
@@ -38,19 +38,19 @@
38
38
  <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
39
39
  </xs:appinfo>
40
40
  </xs:annotation>
41
-
41
+
42
42
  <xs:import namespace="http://www.orcid.org/ns/common"
43
- schemaLocation="../common_2.0_rc3/common-2.0_rc3.xsd" />
43
+ schemaLocation="../common_2.0/common-2.0.xsd" />
44
44
  <xs:import namespace="http://www.orcid.org/ns/employment"
45
- schemaLocation="employment-2.0_rc3.xsd" />
45
+ schemaLocation="employment-2.0.xsd" />
46
46
  <xs:import namespace="http://www.orcid.org/ns/education"
47
- schemaLocation="education-2.0_rc3.xsd" />
47
+ schemaLocation="education-2.0.xsd" />
48
48
  <xs:import namespace="http://www.orcid.org/ns/funding"
49
- schemaLocation="funding-2.0_rc3.xsd" />
49
+ schemaLocation="funding-2.0.xsd" />
50
50
  <xs:import namespace="http://www.orcid.org/ns/work"
51
- schemaLocation="work-2.0_rc3.xsd" />
51
+ schemaLocation="work-2.0.xsd" />
52
52
  <xs:import namespace="http://www.orcid.org/ns/peer-review"
53
- schemaLocation="peer-review-2.0_rc3.xsd" />
53
+ schemaLocation="peer-review-2.0.xsd" />
54
54
 
55
55
  <xs:element name="activities-summary">
56
56
  <xs:complexType>
@@ -62,7 +62,7 @@
62
62
  <xs:documentation>Container for the list of educations associated
63
63
  with the researcher or contributor
64
64
  </xs:documentation>
65
- </xs:annotation>
65
+ </xs:annotation>
66
66
  </xs:element>
67
67
 
68
68
  <xs:element name="employments" type="activities:employments" minOccurs="0" maxOccurs="1">
@@ -73,51 +73,31 @@
73
73
  </xs:annotation>
74
74
  </xs:element>
75
75
 
76
- <xs:element name="fundings" minOccurs="0" maxOccurs="1">
76
+ <xs:element name="fundings" type="activities:fundings" minOccurs="0" maxOccurs="1">
77
77
  <xs:annotation>
78
78
  <xs:documentation>Container for the funding received by the
79
79
  researcher or contributor
80
80
  </xs:documentation>
81
- </xs:annotation>
82
- <xs:complexType>
83
- <xs:sequence>
84
- <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
85
- <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
86
- type="activities:funding-group" />
87
- </xs:sequence>
88
- </xs:complexType>
81
+ </xs:annotation>
89
82
  </xs:element>
90
- <xs:element name="peer-reviews" minOccurs="0" maxOccurs="1">
83
+ <xs:element name="peer-reviews" type="activities:peer-reviews" minOccurs="0" maxOccurs="1">
91
84
  <xs:annotation>
92
85
  <xs:documentation>Container for the funding received by the
93
86
  researcher or contributor
94
87
  </xs:documentation>
95
- </xs:annotation>
96
- <xs:complexType>
97
- <xs:sequence>
98
- <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
99
- <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
100
- type="activities:peer-review-group" />
101
- </xs:sequence>
102
- </xs:complexType>
88
+ </xs:annotation>
103
89
  </xs:element>
104
- <xs:element name="works" minOccurs="0" maxOccurs="1">
90
+ <xs:element name="works" type="activities:works" minOccurs="0" maxOccurs="1">
105
91
  <xs:annotation>
106
92
  <xs:documentation>Container for the Works published by the
107
93
  researcher
108
94
  or contributor.
109
95
  </xs:documentation>
110
- </xs:annotation>
111
- <xs:complexType>
112
- <xs:sequence>
113
- <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
114
- <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
115
- type="activities:work-group" />
116
- </xs:sequence>
117
- </xs:complexType>
96
+ </xs:annotation>
118
97
  </xs:element>
119
98
  </xs:sequence>
120
- </xs:complexType>
99
+ <xs:attribute name="path" type="common:element-path" use="optional" />
100
+ </xs:complexType>
121
101
  </xs:element>
122
102
 
123
103
  <xs:complexType name="educations">
@@ -126,12 +106,13 @@
126
106
  <xs:element maxOccurs="unbounded" minOccurs="0"
127
107
  ref="education:education-summary" />
128
108
  </xs:sequence>
109
+ <xs:attribute name="path" type="common:element-path" use="optional" />
129
110
  </xs:complexType>
130
111
 
131
112
  <xs:element name="educations">
132
113
  <xs:complexType>
133
114
  <xs:complexContent>
134
- <xs:restriction base="activities:educations" />
115
+ <xs:extension base="activities:educations" />
135
116
  </xs:complexContent>
136
117
  </xs:complexType>
137
118
  </xs:element>
@@ -142,46 +123,98 @@
142
123
  <xs:element maxOccurs="unbounded" minOccurs="0"
143
124
  ref="employment:employment-summary" />
144
125
  </xs:sequence>
126
+ <xs:attribute name="path" type="common:element-path" use="optional" />
145
127
  </xs:complexType>
146
128
 
147
- <xs:element name="employments">
129
+ <xs:element name="employments">
148
130
  <xs:complexType>
149
131
  <xs:complexContent>
150
- <xs:restriction base="activities:employments" />
132
+ <xs:extension base="activities:employments" />
151
133
  </xs:complexContent>
152
134
  </xs:complexType>
153
- </xs:element>
135
+ </xs:element>
154
136
 
155
- <xs:complexType name="work-group">
137
+ <xs:complexType name="funding-group">
156
138
  <xs:sequence>
157
139
  <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
158
140
  <xs:element ref="common:external-ids"></xs:element>
159
141
  <xs:sequence>
160
142
  <xs:element maxOccurs="unbounded" minOccurs="0"
161
- ref="work:work-summary" />
143
+ ref="funding:funding-summary" />
162
144
  </xs:sequence>
163
145
  </xs:sequence>
164
146
  </xs:complexType>
147
+
148
+ <xs:complexType name="fundings">
149
+ <xs:sequence>
150
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
151
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
152
+ type="activities:funding-group" />
153
+ </xs:sequence>
154
+ <xs:attribute name="path" type="common:element-path" use="optional" />
155
+ </xs:complexType>
165
156
 
166
- <xs:complexType name="funding-group">
157
+ <xs:element name="fundings">
158
+ <xs:complexType>
159
+ <xs:complexContent>
160
+ <xs:extension base="activities:fundings" />
161
+ </xs:complexContent>
162
+ </xs:complexType>
163
+ </xs:element>
164
+
165
+ <xs:complexType name="peer-review-group">
167
166
  <xs:sequence>
168
167
  <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
169
168
  <xs:element ref="common:external-ids"></xs:element>
170
169
  <xs:sequence>
171
170
  <xs:element maxOccurs="unbounded" minOccurs="0"
172
- ref="funding:summary" />
171
+ ref="peer-review:peer-review-summary" />
173
172
  </xs:sequence>
174
173
  </xs:sequence>
175
174
  </xs:complexType>
175
+
176
+ <xs:complexType name="peer-reviews">
177
+ <xs:sequence>
178
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
179
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
180
+ type="activities:peer-review-group" />
181
+ </xs:sequence>
182
+ <xs:attribute name="path" type="common:element-path" use="optional" />
183
+ </xs:complexType>
176
184
 
177
- <xs:complexType name="peer-review-group">
185
+ <xs:element name="peer-reviews">
186
+ <xs:complexType>
187
+ <xs:complexContent>
188
+ <xs:extension base="activities:peer-reviews" />
189
+ </xs:complexContent>
190
+ </xs:complexType>
191
+ </xs:element>
192
+
193
+ <xs:complexType name="work-group">
178
194
  <xs:sequence>
179
195
  <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
180
196
  <xs:element ref="common:external-ids"></xs:element>
181
197
  <xs:sequence>
182
198
  <xs:element maxOccurs="unbounded" minOccurs="0"
183
- ref="peer-review:summary" />
199
+ ref="work:work-summary" />
184
200
  </xs:sequence>
185
201
  </xs:sequence>
186
202
  </xs:complexType>
203
+
204
+ <xs:complexType name="works">
205
+ <xs:sequence>
206
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
207
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
208
+ type="activities:work-group" />
209
+ </xs:sequence>
210
+ <xs:attribute name="path" type="common:element-path" use="optional" />
211
+ </xs:complexType>
212
+
213
+ <xs:element name="works">
214
+ <xs:complexType>
215
+ <xs:complexContent>
216
+ <xs:extension base="activities:works" />
217
+ </xs:complexContent>
218
+ </xs:complexType>
219
+ </xs:element>
187
220
  </xs:schema>
@@ -32,7 +32,7 @@
32
32
  </xs:appinfo>
33
33
  </xs:annotation>
34
34
  <xs:import namespace="http://www.orcid.org/ns/common"
35
- schemaLocation="../common_2.0_rc3/common-2.0_rc3.xsd" />
35
+ schemaLocation="../common_2.0/common-2.0.xsd" />
36
36
 
37
37
  <xs:element name="addresses">
38
38
  <xs:annotation>
@@ -1,10 +1,10 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
- xmlns:sch="http://purl.oclc.org/dsdl/schematron" elementFormDefault="unqualified"
3
+ xmlns:sch="http://purl.oclc.org/dsdl/schematron" elementFormDefault="qualified"
4
4
  targetNamespace="http://www.orcid.org/ns/bulk"
5
5
  xmlns:bulk="http://www.orcid.org/ns/bulk"
6
6
  xmlns:work="http://www.orcid.org/ns/work"
7
- xmlns:common="http://www.orcid.org/ns/common" xmlns:error="http://www.orcid.org/ns/error">
7
+ xmlns:error="http://www.orcid.org/ns/error">
8
8
  <xs:annotation>
9
9
  <xs:documentation>
10
10
  =============================================================================
@@ -31,25 +31,25 @@
31
31
  </xs:documentation>
32
32
  <xs:appinfo>
33
33
  <sch:title>Schematron validation</sch:title>
34
- <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
34
+ <sch:ns prefix="bulk" uri="http://www.orcid.org/ns/bulk" />
35
35
  </xs:appinfo>
36
36
  </xs:annotation>
37
37
 
38
+ <xs:import namespace="http://www.orcid.org/ns/error"
39
+ schemaLocation="error-2.0.xsd" />
40
+
41
+ <xs:import namespace="http://www.orcid.org/ns/work"
42
+ schemaLocation="work-2.0.xsd" />
43
+
38
44
  <xs:element name="bulk">
39
45
  <xs:complexType>
40
46
  <xs:annotation>
41
- <xs:documentation>A work published by the researcher or contributor.
42
- * The visibility attribute (private, limited or public) can be set
43
- at record creation, and indicates who can see this section of
44
- information.
45
- * The put-code attribute is used only when reading this
46
- element. When updating the item, the put-code attribute must be
47
- included to indicate the specific record to be updated.
48
- </xs:documentation>
47
+ <xs:documentation>Utilitary schema that allow the creation of multiple works in a single request</xs:documentation>
49
48
  </xs:annotation>
50
49
  <xs:sequence maxOccurs="unbounded">
51
50
  <xs:choice>
52
- <xs:any minOccurs="1" processContents="lax"/>
51
+ <xs:element minOccurs="0" ref="work:work" />
52
+ <xs:element minOccurs="0" ref="error:error" />
53
53
  </xs:choice>
54
54
  </xs:sequence>
55
55
  </xs:complexType>