Description

Get information about directory objects. Directories are identified by sha1 checksums, compatible with Git directory identifiers. See swh.model.git_objects.directory_git_object in our data model module for details about how they are computed.

When given only a directory identifier, this endpoint returns information about the directory itself, returning its content (usually a list of directory entries). When given a directory identifier and a path, this endpoint returns information about the directory entry pointed by the relative path, starting path resolution from the given directory.

Request

GET https://archive.softwareheritage.org/api/1/directory/0fb9e7cc30856854078aedfdab71506feda26634/

Response

Body
[
    {
        "checksums": {
            "sha1": "0f4871d29f8845ba44b45933b883bbd06222f1c0",
            "sha1_git": "a43f7806ca20bf0d5596af82320853c87ca1c984",
            "sha256": "cc66bdd24cf2f5d4bc12ad2ea9b363780c3c22bceae410a5a9383e894dd491aa"
        },
        "dir_id": "0fb9e7cc30856854078aedfdab71506feda26634",
        "length": 100,
        "name": "allowed_signers",
        "perms": 33188,
        "status": "visible",
        "target": "a43f7806ca20bf0d5596af82320853c87ca1c984",
        "target_url": "https://archive.softwareheritage.org/api/1/content/sha1_git:a43f7806ca20bf0d5596af82320853c87ca1c984/",
        "type": "file"
    }
]

URL Allowed Methods

https://archive.softwareheritage.org/api/1/directory/ (sha1_git) /[ (path) /]

GET, HEAD, OPTIONS

Arguments

sha1_git (string)

hexadecimal representation of the directory sha1_git identifier

path (string)

optional parameter to get information about the directory entry pointed by that relative path


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


Returns

array

an array of objects containing the following keys:

  • checksums (object): object holding the computed checksum values for a directory entry (only for file entries)

  • dir_id (string): sha1_git identifier of the requested directory

  • length (number): length of a directory entry in bytes (only for file entries) for getting information about the content MIME type

  • name (string): the directory entry name

  • perms (number): permissions for the directory entry

  • target (string): sha1_git identifier of the directory entry

  • target_url (string): link to /api/1/content/ or /api/1/directory/ depending on the directory entry type

  • type (string): the type of the directory entry, can be either dir, file or rev


HTTP status codes

200

no error

400

an invalid hash_type or hash has been provided

404

requested directory cannot be found in the archive


Examples

/api/1/directory/977fc4b98c0e85816348cebd3b12026407c368b6/
back to top