Skip to main content
The /v1/diff/latest endpoint serves the diff that the pipeline wrote into the current version directory at publish time. It describes which items were added, removed, or changed across every category between the previous version and the version currently active behind the current symlink. Use this endpoint to keep a downstream cache in sync without re-fetching every category after each Valorant patch.

Endpoint

GET https://astra.teamfortuna.xyz/v1/diff/latest

Request

The User-Agent header is required for all requests to the Astra API. Use the format AppName/Version (+URL).
curl https://astra.teamfortuna.xyz/v1/diff/latest \
  -H "User-Agent: MyApp/1.0 (+https://example.com)"

Response fields

status
number
HTTP status code of the response (e.g. 200).
data
object

Response

{
  "status": 200,
  "data": {
    "fromVersion": "VAL_12.06",
    "toVersion": "VAL_12.07",
    "generatedAt": "2026-04-22T14:25:22.602Z",
    "categories": {
      "agents": {
        "added": ["c2b5d2c5-3a59-4f7c-9e1f-0a1b2c3d4e5f"],
        "removed": [],
        "changed": [
          {
            "uuid": "8e9aa2e9-0e34-4d59-b2b3-9a8a7b6c5d4e",
            "fields": ["abilities", "displayIcon"]
          }
        ]
      },
      "weapons": {
        "added": [],
        "removed": [],
        "changed": []
      }
    },
    "summary": {
      "totalAdded": 1,
      "totalRemoved": 0,
      "totalChanged": 1
    }
  }
}

Errors

404
status
Returned when the active version directory has no diff file yet. This happens on a first-ever pipeline run, or when retention removed the previous version before a diff could be emitted.
500
status
Returned when a diff file exists on disk but is unreadable or corrupt. Treat this as an operations alert.
Pair this endpoint with /v1/version to detect new patches: when manifestId changes, fetch /v1/diff/latest and apply the per-category added, removed, and changed lists to your cache.