Just to cover multiple clients types. I've covered the identifier itself, Public API and Member API.
200 with valid identifier:
* Trying 66.216.68.112...
* TCP_NODELAY set
* Connected to orcid.org (66.216.68.112) port 80 (#0) > GET /0000-0002-0036-9460 HTTP/1.1
> User-Agent: curl/7.51.0
> Accept: application/json
>
< HTTP/1.1 200 OK
< Server: nginx/1.4.6 (Ubuntu)
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Content-Type: application/json;charset=UTF-8
< Date: Wed, 12 Jul 2017 13:26:56 GMT
< Expires: 0
< Pragma: no-cache
< X-XSS-Protection: 1; mode=block
< Transfer-Encoding: chunked
< Access-Control-Allow-Origin: *
< X-Content-Type-Options: nosniff
< Connection: keep-alive
< Set-Cookie: X-Mapping-fjhppofk=CD88EE96E62E8319DEAF9876AD33C1B5; path=/
< X-Frame-Options: DENY
<
{ [977 bytes data]
* Curl_http_done: called premature == 0
* Connection #0 to host orcid.org left intact
404 with invalid identifier:
* Trying 66.216.68.112...
* TCP_NODELAY set
* Connected to orcid.org (66.216.68.112) port 80 (#0) > GET /0000-0002-0036-0000 HTTP/1.1
> User-Agent: curl/7.51.0
> Accept: application/json
>
< HTTP/1.1 404 Not Found
< Server: nginx/1.4.6 (Ubuntu)
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Content-Type: application/json;charset=UTF-8
< Date: Wed, 12 Jul 2017 13:26:44 GMT
< Expires: 0
< Pragma: no-cache
< X-XSS-Protection: 1; mode=block
< Transfer-Encoding: chunked
< Access-Control-Allow-Origin: *
< X-Content-Type-Options: nosniff
< Connection: keep-alive
< Set-Cookie: X-Mapping-fjhppofk=CD88EE96E62E8319DEAF9876AD33C1B5; path=/
< X-Frame-Options: DENY
<
{ [148 bytes data]
* Curl_http_done: called premature == 0
* Connection #0 to host orcid.org left intact
200 with valid identifier using 2.0 Public API:
* Trying 174.143.185.159...
* TCP_NODELAY set
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: Go Daddy Secure Certificate Authority - G2
* Server certificate: Go Daddy Root Certificate Authority - G2
> GET /v2.0/0000-0002-0036-9460 HTTP/1.1
> User-Agent: curl/7.51.0
> Accept: application/json
>
< HTTP/1.1 200 OK
< Server: nginx/1.4.6 (Ubuntu)
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Content-Type: application/json;charset=UTF-8
< Date: Wed, 12 Jul 2017 13:34:49 GMT
< Expires: 0
< Pragma: no-cache
< X-XSS-Protection: 1; mode=block
< Transfer-Encoding: chunked
< Access-Control-Allow-Origin: *
< X-Content-Type-Options: nosniff
< Connection: keep-alive
< Set-Cookie: X-Mapping-fjhppofk=BB32ADE26669E4E542AAA075A6CC205A; path=/
< X-Frame-Options: DENY
<
{ [15888 bytes data]
* Curl_http_done: called premature == 0
404 with invalid identifier using 2.0 Public API:
* Trying 174.143.185.159...
* TCP_NODELAY set
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: Go Daddy Secure Certificate Authority - G2
* Server certificate: Go Daddy Root Certificate Authority - G2
> GET /v2.0/0000-0002-0036-0000 HTTP/1.1
> User-Agent: curl/7.51.0
> Accept: application/json
>
< HTTP/1.1 404 Not Found
< Server: nginx/1.4.6 (Ubuntu)
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Content-Type: application/json;charset=UTF-8
< Date: Wed, 12 Jul 2017 13:36:47 GMT
< Expires: 0
< Pragma: no-cache
< X-XSS-Protection: 1; mode=block
< Access-Control-Allow-Origin: *
< X-Content-Type-Options: nosniff
< Connection: keep-alive
< Set-Cookie: X-Mapping-fjhppofk=BB32ADE26669E4E542AAA075A6CC205A; path=/
< X-Frame-Options: DENY
< Content-Length: 219
<
{ [219 bytes data]
* Curl_http_done: called premature == 0
200 with valid identifier using 2.0 Member API:
* Trying 174.143.185.162...
* TCP_NODELAY set
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: Go Daddy Secure Certificate Authority - G2
* Server certificate: Go Daddy Root Certificate Authority - G2
> GET /v2.0/0000-0002-0036-9460 HTTP/1.1
> User-Agent: curl/7.51.0
> Accept: application/json
> Authorization: Bearer XXXXXXXXXXXXXXX
>
< HTTP/1.1 200 OK
< Server: nginx/1.4.6 (Ubuntu)
< Date: Wed, 12 Jul 2017 14:20:08 GMT
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Access-Control-Allow-Origin: *
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: DENY
< X-Content-Type-Options: nosniff
<
{ [15986 bytes data]
* Curl_http_done: called premature == 0
404 with invalid identifier using 2.0 Member API:
* Trying 174.143.185.162...
* TCP_NODELAY set
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: Go Daddy Secure Certificate Authority - G2
* Server certificate: Go Daddy Root Certificate Authority - G2
> GET /v2.0/0000-0002-0036-000 HTTP/1.1
> User-Agent: curl/7.51.0
> Accept: application/json
> Authorization: Bearer XXXXXXXXXXXXX
>
< HTTP/1.1 404 Not Found
< Server: nginx/1.4.6 (Ubuntu)
< Date: Wed, 12 Jul 2017 14:20:40 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 219
< Connection: keep-alive
< Access-Control-Allow-Origin: *
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: DENY
< X-Content-Type-Options: nosniff
<
{ [219 bytes data]
* Curl_http_done: called premature == 0
We should chat about the sources sending invalid IDs, that is a bit worrisome and not cool for any of us :-)
Cheers,
Rob