swh.web.save_code_now.api_views module#
- swh.web.save_code_now.api_views.api_save_origin(request: Request, visit_type: str | None = None, origin_url: str | None = None, request_id: int = 0)[source]#
- GET /api/1/origin/save/(visit_type)/url/(origin_url)/#
 - POST /api/1/origin/save/(visit_type)/url/(origin_url)/#
 - GET /api/1/origin/save/(request_id)/#
- Request the saving of a software origin into the archive or check the status of previously created save requests. - That endpoint enables to create a saving task for a software origin through a POST request. - Depending of the provided origin url, the save request can either be: - immediately accepted, for well known code hosting providers like for instance GitHub or GitLab 
- rejected, in case the url is blacklisted by Software Heritage 
- put in pending state until a manual check is done in order to determine if it can be loaded or not 
 - Once a saving request has been accepted, its associated saving task status can then be checked through a GET request on the same url. Returned status can either be: - not created: no saving task has been created 
- pending: saving task has been created and will be scheduled for execution 
- scheduled: the task execution has been scheduled 
- running: the task is currently executed 
- succeeded: the saving task has been successfully executed 
- failed: the saving task has been executed but it failed 
 - When issuing a POST request an object will be returned while a GET request will return an array of objects (as multiple save requests might have been submitted for the same origin). - It is also possible to get info about a specific save request by sending a GET request to the - /api/1/origin/save/(request_id)/endpoint.- Parameters:
- visit_type (string) – the type of visit to perform (currently the supported types are bzr, cvs, git, hg, and svn) 
- origin_url (string) – the url of the origin to save 
- request_id (number) – a save request identifier 
 
- Request Headers:
- Accept – the requested response content type, either - application/json(default) or- application/yaml
 
- Response Headers:
- Content-Type – this depends on Accept header of request 
 
- Response JSON Object:
- id (number) – the save request identifier 
- request_url (string) – Web API URL to follow up on that request 
- origin_url (string) – the url of the origin to save 
- visit_type (string) – the type of visit to perform 
- save_request_date (string) – the date (in iso format) the save request was issued 
- save_request_status (string) – the status of the save request, either accepted, rejected or pending 
- save_task_status (string) – the status of the origin saving task, either not created, pending, scheduled, running, succeeded or failed 
- visit_date (string) – the date (in iso format) of the visit if a visit occurred, null otherwise. 
- visit_status (string) – the status of the visit, either full, partial, not_found or failed if a visit occurred, null otherwise. 
- note (string) – optional note giving details about the save request, for instance why it has been rejected 
- snapshot_swhid (string) – SWHID of snapshot associated to the visit (null if it is missing or unknown) 
- snapshot_url (string) – Web API URL to retrieve snapshot data 
- from_webhook (boolean) – indicates if the save request was created from a popular forge webhook receiver (see - POST /api/1/origin/save/webhook/github/for instance)
- webhook_origin (string) – indicates which forge type sent the webhook, currently the supported types are:bitbucket, gitea, github, gitlab, and sourceforge 
 
- Status Codes:
- 200 OK – no error 
- 400 Bad Request – an invalid visit type or origin url has been provided 
- 403 Forbidden – the provided origin url is blacklisted 
- 404 Not Found – no save requests have been found for a given origin