{
  "opencollection": "1.0.0",
  "info": {
    "name": "dead-drop API v1 Documentation Drops API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "Drops",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Generate a Random Unused Drop Name",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/api/v1/drops/generate-name"
          },
          "docs": "Generates a random 4-word drop name using the EFF Diceware wordlist and ensures it is not already in use."
        },
        {
          "info": {
            "name": "Check if a Drop Name Is Available",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/api/v1/drops/check/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "SHA-256 hash of the drop name"
              }
            ]
          },
          "docs": "Check if a drop with the given ID exists. Returns 200 with availability status regardless of whether the drop exists."
        },
        {
          "info": {
            "name": "Retrieve a Drop",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/api/v1/drops/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "SHA-256 hash of the drop name"
              },
              {
                "name": "I_agree_with_terms_and_conditions",
                "value": "",
                "type": "query",
                "description": "Must be true to confirm agreement to terms and conditions"
              }
            ]
          },
          "docs": "Get the current version of a drop by its ID."
        },
        {
          "info": {
            "name": "Update a Drop",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "/api/v1/drops/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "SHA-256 hash of the drop name"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Update an existing drop. Authentication is required."
        },
        {
          "info": {
            "name": "Delete a Drop",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "/api/v1/drops/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "SHA-256 hash of the drop name"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Delete a drop permanently. Authentication is required."
        },
        {
          "info": {
            "name": "Create a New Drop",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/api/v1/drops",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Create a new drop with the given parameters. The drop name must not already exist. For private drops, the payload must be encrypted."
        }
      ]
    }
  ],
  "bundled": true
}