# transifex 404 resource not found on download translations

## TL;DR

Fixes the Transifex 404 when downloading translations for a resource slug that does not exist. Verify the project and resource slugs, then retry. Use when the download endpoint returns 404. Not for 401 auth errors.

## The error

```text
{"detail":"Not found. Resource mobile-strings does not exist in project acme-app."}
```

## Fix it

### Step 1: List the project resources

```bash
node -e "console.log('call the resources list endpoint for the project')"
```

Expected: You see the real resource slugs in the project.

### Step 2: Compare with your slug

```bash
node -e "console.log('check for typos, renames, or a wrong project id')"
```

Expected: You spot the slug mismatch.

### Step 3: Retry with the correct slug

```bash
node -e "console.log('download again and confirm the file arrives')"
```

Expected: The translations download successfully.

## When to use this

- Translation download returns 404
- The resource was renamed recently

## When NOT to use this

- The download returns 401, the credential is wrong
- The file downloads but is empty, check the translation completion

## Tool and version compatibility

- Transifex API v3
- Resource translations download endpoint

## Variant phrasings

### 404 for a resource that exists

You are hitting the wrong organization or project. Check both ids.

### 404 only for one language

That language was removed from the project. Re-add it or drop it from the script.

## Why it happens

Resource slugs are the download key. Renames, typos, or pointing at the wrong project all produce a 404, and the API names the missing resource so you can tell a bad slug from a bad project.

## Edge cases

- Slugs are lowercase with dashes; the UI name is not the slug
- Deleted resources 404 even if translations were completed
- API v2 and v3 use different URL shapes; mixing them 404s

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_aeH7Pos_JFXD79QX72koxw
