The Software Heritage Web API accepts several content types when querying it.
Default one is JSON:
17:42 $ curl https://archive.softwareheritage.org/api/1/revision/aafb16d69fd30ff58afdd69036a26047f3aebdc6/
{"message":"Merge branch 'master' into pr/584\n","author":{"fullname":"Nicolas Dandrimont <nicolas.dandrimont@crans.org>","name":"Nicolas Dandrimont","email":"nicolas.dandrimont@crans.org"},"committer":{"fullname":"Nicolas Dandrimont <nicolas.dandrimont@crans.org>","name":"Nicolas Dandrimont","email":"nicolas.dandrimont@crans.org"},"date":"2014-08-18T18:18:25+02:00","committer_date":"2014-08-18T18:18:25+02:00","type":"git","directory":"9f2e5898e00a66e6ac11033959d7e05b1593353b","synthetic":false,"metadata":{},"parents":[{"id":"26307d261279861c2d9c9eca3bb38519f951bea4","url":"https://archive.softwareheritage.org/api/1/revision/26307d261279861c2d9c9eca3bb38519f951bea4/"},{"id":"37fc9e08d0c4b71807a4f1ecb06112e78d91c283","url":"https://archive.softwareheritage.org/api/1/revision/37fc9e08d0c4b71807a4f1ecb06112e78d91c283/"}],"id":"aafb16d69fd30ff58afdd69036a26047f3aebdc6","extra_headers":[],"merge":true,"url":"https://archive.softwareheritage.org/api/1/revision/aafb16d69fd30ff58afdd69036a26047f3aebdc6/","history_url":"https://archive.softwareheritage.org/api/1/revision/aafb16d69fd30ff58afdd69036a26047f3aebdc6/log/","directory_url":"https://archive.softwareheritage.org/api/1/directory/9f2e5898e00a66e6ac11033959d7e05b1593353b/"}Data can also be dumped to YAML:
17:42 $ curl -H 'Accept: application/yaml' https://archive.softwareheritage.org/api/1/revision/aafb16d69fd30ff58afdd69036a26047f3aebdc6/
author:
email: nicolas.dandrimont@crans.org
fullname: Nicolas Dandrimont <nicolas.dandrimont@crans.org>
name: Nicolas Dandrimont
committer:
email: nicolas.dandrimont@crans.org
fullname: Nicolas Dandrimont <nicolas.dandrimont@crans.org>
name: Nicolas Dandrimont
committer_date: '2014-08-18T18:18:25+02:00'
date: '2014-08-18T18:18:25+02:00'
directory: 9f2e5898e00a66e6ac11033959d7e05b1593353b
directory_url: https://archive.softwareheritage.org/api/1/directory/9f2e5898e00a66e6ac11033959d7e05b1593353b/
extra_headers: []
history_url: https://archive.softwareheritage.org/api/1/revision/aafb16d69fd30ff58afdd69036a26047f3aebdc6/log/
id: aafb16d69fd30ff58afdd69036a26047f3aebdc6
merge: true
message: 'Merge branch ''master'' into pr/584
'
metadata: {}
parents: !!python/tuple
- id: 26307d261279861c2d9c9eca3bb38519f951bea4
url: https://archive.softwareheritage.org/api/1/revision/26307d261279861c2d9c9eca3bb38519f951bea4/
- id: 37fc9e08d0c4b71807a4f1ecb06112e78d91c283
url: https://archive.softwareheritage.org/api/1/revision/37fc9e08d0c4b71807a4f1ecb06112e78d91c283/
synthetic: false
type: git
url: https://archive.softwareheritage.org/api/1/revision/aafb16d69fd30ff58afdd69036a26047f3aebdc6/And there is also a documented HTML view when the endpoint is queried from a web browser:
https://archive.softwareheritage.org/api/1/revision/aafb16d69fd30ff58afdd69036a26047f3aebdc6/
Current tests for the different Web API endpoints only checks for JSON content type but YAML and HTML
should also be checked to catch possible issues with them.