[CLOSED] API - Blank data but 200 code
I'm writing a JS thing with the immich API. I'm trying to get the asset ID from the filepath and I'm getting a 200 code but the data is empty.
The introduction page for the API is also empty, so I don't know what I'm doing wrong.

28 Replies
:wave: Hey @Sargates,
Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:.
References
- Container Logs:
docker compose logs
docs
- Container Status: docker ps -a
docs
- Reverse Proxy: https://immich.app/docs/administration/reverse-proxy
- Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA
Checklist
I have...
1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time).
2. :ballot_box_with_check: read applicable release notes.
3. :ballot_box_with_check: reviewed the FAQs for known issues.
4. :ballot_box_with_check: reviewed Github for known issues.
5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy).
6. :ballot_box_with_check: uploaded the relevant information (see below).
7. :blue_square: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable
(an item can be marked as "complete" by reacting with the appropriate number)
Information
In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:
- Your docker-compose.yml and .env files.
- Logs from all the containers and their status (see above).
- All the troubleshooting steps you've tried so far.
- Any recent changes you've made to Immich or your system.
- Details about your system (both software/OS and hardware).
- Details about your storage (filesystems, type of disks, output of commands like fdisk -l
and df -h
).
- The version of the Immich server, mobile app, and other relevant pieces.
- Any other information that you think might be relevant.
Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)
If this ticket can be closed you can use the /close
command, and re-open it later if needed.
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:I'm running in a Docker container, everything is set up correctly, e.g. the volume mounts and API keys
Can you share the request you're making, what you're expecting etc?
This is the equivalent request with
curl
with the exception that the curl is dumping the response headers to stdout
. In TS I'm using the Immich SDK which I found out about after digging through the github repo.
This is typescript code:
However, I am assuming that the API searches for the asset based on the
originalPath
column in the assets
table within the database, but clearly I'm wrong. I attached a screenshot of querying the database from pgAdmin where it should find a match.
I'm probably just using the API wrong, but as I mentioned the "Introduction" page is blank
Also, to clarify: "What I'm expecting" is the uuid for the given asset based on its
originalPath
in the databaseTry dropping the filename off the end of the path
Also, as a random side note;
"upload/" + path.replace("...", "")
is extremely cursed lmao. Why not just path.replace("...", "upload/")
? :PYeah, It used to just be the replace call, and then I looked at the database and saw the upload prefix. I just wasnt thinking about it
does not work either

You added something new to the start tho π
ah I had just woken up, sorry.
Still doesn't work

Open up the folder view in the web UI and check in devtools what requests it's making for that folder
Then replicate that
After a further look into it, I realized the issue is my API key.
I overlooked the fact that creating an API key is done in the "Account Settings" page and not "Administration" page, so I assumed that an API key created by an administrator would have administration priviledges when interacting with the API
Using a path within my user's storage directory works fine

For posterity, the
upload/
prefix is required in the path, as matching with the originalPath
column in the database for a given asset, thus the filename shouldn't be included in the request
Before I close this out, is there any way to create an API key with admin rights? i.e. accessing and managing all users libraries?Currently there is not
Is that atleast planned? or coming soonπ€?
Neither
It should be rather straightforward to implement though, PRs are always welcome :)
Is that not blocked by the sharing and library changes..?
I thought that would be a pretty major rework
You wouldn't need to touch assets or such
I think it's literally just writing to one table, but I could be wrong. Haven't looked at it
We should consider 'total' access in the permission rework, I don't think that's something we should just yolo in :P
I mean... we even have scopes for api keys already, but yeah that's fair :)
I was wanting to contribute in the future, but I don't know a thing about web development. I'd have to do a lot of reading to know where to start but I don't have a lot of time right now.
Should I rename this thread to something else before closing it?
Nah that's fine
π
This thread has been closed. To re-open, use the button below.