# What each of Immich's goals does, in plain words.

A mechanic is the kind of action behind something an app lets you do, named the same way in every app. Here every Immich goal sits under its mechanic, and each row opens the goals behind it. [See what that means on one book](https://featkpr.com/library/mechanics) .

Immich · production's goal records, read 21 Oct 2026, 18:43 UTC (store seq 468538) · named with featkpr's mechanics list 1.0.5 · 154 goals under 27 of 34 mechanics, 143 rows

[(picture: Immich's Bin screen: Empty bin and Restore all at the top right, lettered A and B)](https://featkpr.com/img/im-bin.webp)

/trash · Immich, as featkpr's crawl of 2 Oct 2026, signed in as admin (screen ecbf89db)

Immich's Bin screen, and what its buttons do

Empty bin **Deletes it for good**

Likely Empty trash

Restore all **Brings it back**

From the code Restore trash

featkpr reads Immich's “Delete assets” goal as “Moves it to the bin” (Likely): this screen's “Restore all” is another goal that brings the same assets back. “Empty bin” is still “Deletes it for good”, the bin's own permanent delete. A run will settle how sure.

## Seven families, the same rows for every app

A bar per mechanic Immich uses, counted in goals. A family Immich has nothing in still gets its row, so the gaps show.

Nothing in Immich: Amounts

### Make or remove 58 goals · 6 of 6 mechanics

- [Deletes it for good **31** goals on 30 things](https://featkpr.com/?mech=DESTROY#rows)
- [Makes a new one **19** goals on 19 things](https://featkpr.com/?mech=CREATE#rows)
- [Brings it back **4** goals on 4 things](https://featkpr.com/?mech=RESTORE#rows)
- [Moves it to the bin **2** goals on 2 things](https://featkpr.com/?mech=TRASH#rows)
- [Makes a copy of it **1** goal on 1 thing](https://featkpr.com/?mech=COPY#rows)
- [Puts it away, still readable **1** goal on 1 thing](https://featkpr.com/?mech=ARCHIVE#rows)

### Change 43 goals · 4 of 6 mechanics

- [Changes it **30** goals on 28 things](https://featkpr.com/?mech=UPDATE#rows)
- [Turns it on or off **6** goals on 5 things](https://featkpr.com/?mech=TOGGLE#rows)
- [Moves it to its next step **5** goals on 4 things](https://featkpr.com/?mech=ADVANCE#rows)
- [Joins or splits them **2** goals on 2 things](https://featkpr.com/?mech=MERGE_SPLIT#rows)

not used here: Moves it somewhere else · Changes the order

### Connect 17 goals · 4 of 5 mechanics

- [Connects it to another one **7** goals on 6 things](https://featkpr.com/?mech=LINK#rows)
- [Disconnects it from another one **7** goals on 7 things](https://featkpr.com/?mech=UNLINK#rows)
- [Gives it to someone **2** goals on 2 things](https://featkpr.com/?mech=ASSIGN#rows)
- [Lets someone else see it **1** goal on 1 thing](https://featkpr.com/?mech=SHARE#rows)

not used here: Lets someone do more

### Look and find 13 goals · 4 of 5 mechanics

- [Finds the matching ones **5** goals on 5 things](https://featkpr.com/?mech=SEARCH#rows)
- [Checks that it is right **4** goals on 3 things](https://featkpr.com/?mech=VALIDATE#rows)
- [Shows it **3** goals on 3 things](https://featkpr.com/?mech=READ#rows)
- [Builds a result from what is there **1** goal on 1 thing](https://featkpr.com/?mech=GENERATE#rows)

not used here: Downloads it as a file

### Bring in or send 5 goals · 3 of 4 mechanics

- [Brings rows in from a file **2** goals on 2 things](https://featkpr.com/?mech=IMPORT#rows)
- [Starts a job **2** goals on 2 things](https://featkpr.com/?mech=RUN#rows)
- [Sends a message **1** goal on 1 thing](https://featkpr.com/?mech=SEND#rows)

not used here: Notes down what happened

### People and access 18 goals · 6 of 6 mechanics

- [Sets a password or key **6** goals on 3 things](https://featkpr.com/?mech=CREDENTIAL#rows)
- [Signs you in **5** goals on 5 things](https://featkpr.com/?mech=AUTHENTICATE#rows)
- [Signs you out **3** goals on 3 things](https://featkpr.com/?mech=END_SESSION#rows)
- [Changes a setting **2** goals on 1 thing](https://featkpr.com/?mech=CONFIGURE#rows)
- [Makes a new account **1** goal on 1 thing](https://featkpr.com/?mech=REGISTER#rows)
- [Adds a comment or reaction **1** goal on 1 thing](https://featkpr.com/?mech=REACT#rows)

### Amounts none in Immich

not used here: Sets an amount aside · Moves an amount from one to another

## Every mechanic on every thing

One row is one mechanic on one thing in Immich. Type a word, or pick a family or how sure; each row opens its goals.

family how sure mechanic

2

### Deletes it for good on asset metadata

A guess **2**

its 2 goals

- Delete asset metadata A guess
- Delete asset metadata by key A guess

1

### Deletes it for good on activity

A guess **1**

its goal

- Delete an activity A guess

1

### Deletes it for good on album

A guess **1**

its goal

- Delete an album A guess

1

### Deletes it for good on asset edits

A guess **1**

its goal

- Remove edits from an existing asset A guess

1

### Deletes it for good on asset file

A guess **1**

its goal

- Delete an asset file A guess

1

### Deletes it for good on asset from stack

A guess **1**

its goal

- Remove an asset from a stack A guess

1

### Deletes it for good on database backup

A guess **1**

its goal

- Delete database backup A guess

1

### Deletes it for good on duplicates

A guess **1**

its goal

- Delete duplicates A guess

1

### Deletes it for good on face

A guess **1**

its goal

- Delete a face A guess

1

### Deletes it for good on integrity report

A guess **1**

its goal

- Delete integrity report item A guess

1

### Deletes it for good on library

A guess **1**

its goal

- Delete a library A guess

1

### Deletes it for good on memory

A guess **1**

its goal

- Delete a memory A guess

1

### Deletes it for good on notification

A guess **1**

its goal

- Delete a notification A guess

1

### Deletes it for good on notifications

A guess **1**

its goal

- Delete notifications A guess

1

### Deletes it for good on partner

A guess **1**

its goal

- Remove a partner A guess

1

### Deletes it for good on people

A guess **1**

its goal

- Delete people A guess

1

### Deletes it for good on person

A guess **1**

its goal

- Delete person A guess

1

### Deletes it for good on profile image

A guess **1**

its goal

- Delete user profile image A guess

1

### Deletes it for good on queue

Likely **1**

its goal

- Empty a queue Likely

1

### Deletes it for good on session

A guess **1**

its goal

- Delete a session A guess

1

### Deletes it for good on sessions

A guess **1**

its goal

- Delete all sessions A guess

1

### Deletes it for good on shared link

A guess **1**

its goal

- Delete a shared link A guess

1

### Deletes it for good on stack

A guess **1**

its goal

- Delete a stack A guess

1

### Deletes it for good on stacks

A guess **1**

its goal

- Delete stacks A guess

1

### Deletes it for good on sync ack

A guess **1**

its goal

- Delete acknowledgements A guess

1

### Deletes it for good on tag

A guess **1**

its goal

- Delete a tag A guess

1

### Deletes it for good on trash

Likely **1**

its goal

- Empty trash Likely

1

### Deletes it for good on user from album

A guess **1**

its goal

- Remove user from album A guess

1

### Deletes it for good on user license

A guess **1**

its goal

- Delete user product key A guess

1

### Deletes it for good on workflow

A guess **1**

its goal

- Delete a workflow A guess

1

### Makes a new one on album

Likely **1**

its goal

- Create an album Likely

1

### Makes a new one on cluster group request

Likely **1**

its goal

- Create a cluster group request Likely

1

### Makes a new one on duplicates resolve

Likely **1**

its goal

- Create a duplicates resolve Likely

1

### Makes a new one on face

Likely **1**

its goal

- Create a face Likely

1

### Makes a new one on job

Likely **1**

its goal

- Create a manual job Likely

1

### Makes a new one on library

Likely **1**

its goal

- Create a library Likely

1

### Makes a new one on memory

Likely **1**

its goal

- Create a memory Likely

1

### Makes a new one on notification

Likely **1**

its goal

- Create a notification Likely

1

### Makes a new one on partner

Likely **1**

its goal

- Create a partner Likely

1

### Makes a new one on partner deprecated

Likely **1**

its goal

- Create a partner deprecated Likely

1

### Makes a new one on person

Likely **1**

its goal

- Create a person Likely

1

### Makes a new one on predict

Likely **1**

its goal

- Create a predict Likely

1

### Makes a new one on profile image

Likely **1**

its goal

- Create user profile image Likely

1

### Makes a new one on session

Likely **1**

its goal

- Create a session Likely

1

### Makes a new one on shared link

Likely **1**

its goal

- Create a shared link Likely

1

### Makes a new one on stack

Likely **1**

its goal

- Create a stack Likely

1

### Makes a new one on tag

Likely **1**

its goal

- Create a tag Likely

1

### Makes a new one on user admin

Likely **1**

its goal

- Create a user Likely

1

### Makes a new one on workflow

Likely **1**

its goal

- Create a workflow Likely

1

### Brings it back on assets

Likely **1**

its goal

- Restore assets Likely

1

### Brings it back on database restore flow

From the code **1**

its goal

- Start database backup restore flow From the code

1

### Brings it back on trash

From the code **1**

its goal

- Restore trash From the code

1

### Brings it back on user admin

From the code **1**

its goal

- Restore a deleted user From the code

1

### Moves it to the bin on assets

Likely **1**

its goal

- Delete assets Likely

1

### Moves it to the bin on user admin

Likely **1**

its goal

- Delete a user Likely

1

### Puts it away, still readable on archive

Likely **1**

its goal

- Download asset archive Likely

1

### Makes a copy of it on asset

From the code **1**

its goal

- Copy asset From the code

2

### Changes it on asset

Likely **1** A guess **1**

its 2 goals

- Apply edits to an existing asset A guess
- Update an asset Likely

2

### Changes it on asset metadata

A guess **2**

its 2 goals

- Update asset metadata A guess
- Upsert asset metadata A guess

1

### Changes it on admin config

A guess **1**

its goal

- Update the system configuration A guess

1

### Changes it on album info

Likely **1**

its goal

- Update an album Likely

1

### Changes it on album user

Likely **1**

its goal

- Update user role Likely

1

### Changes it on api key

Likely **1**

its goal

- Update an API key Likely

1

### Changes it on assets

A guess **1**

its goal

- Update assets A guess

1

### Changes it on config

A guess **1**

its goal

- Update system configuration A guess

1

### Changes it on library

Likely **1**

its goal

- Update a library Likely

1

### Changes it on maintenance mode

A guess **1**

its goal

- Set maintenance mode A guess

1

### Changes it on memory

Likely **1**

its goal

- Update a memory Likely

1

### Changes it on my preferences

A guess **1**

its goal

- Update my preferences A guess

1

### Changes it on my user

A guess **1**

its goal

- Update current user A guess

1

### Changes it on notification

Likely **1**

its goal

- Update a notification Likely

1

### Changes it on notifications

A guess **1**

its goal

- Update notifications A guess

1

### Changes it on partner

Likely **1**

its goal

- Update a partner Likely

1

### Changes it on password

A guess **1**

its goal

- Change password A guess

1

### Changes it on people

A guess **1**

its goal

- Update people A guess

1

### Changes it on person

Likely **1**

its goal

- Update person Likely

1

### Changes it on session

Likely **1**

its goal

- Update a session Likely

1

### Changes it on shared link

Likely **1**

its goal

- Update a shared link Likely

1

### Changes it on stack

Likely **1**

its goal

- Update a stack Likely

1

### Changes it on tag

Likely **1**

its goal

- Update a tag Likely

1

### Changes it on tags

A guess **1**

its goal

- Upsert tags A guess

1

### Changes it on user admin

Likely **1**

its goal

- Update a user Likely

1

### Changes it on user license

A guess **1**

its goal

- Set user product key A guess

1

### Changes it on user preferences admin

A guess **1**

its goal

- Update user preferences A guess

1

### Changes it on workflow

Likely **1**

its goal

- Update a workflow Likely

2

### Turns it on or off on user onboarding

From the code **2**

its 2 goals

- Delete user onboarding From the code
- Update user onboarding From the code

1

### Turns it on or off on admin onboarding

From the code **1**

its goal

- Update admin onboarding From the code

1

### Turns it on or off on auth session

From the code **1**

its goal

- Lock auth session From the code

1

### Turns it on or off on queue

From the code **1**

its goal

- Update a queue From the code

1

### Turns it on or off on session

From the code **1**

its goal

- Lock a session From the code

2

### Moves it to its next step on cluster group request

From the code **1** A guess **1**

its 2 goals

- Accept a cluster group request From the code
- Decline a cluster group request A guess

1

### Moves it to its next step on duplicate

A guess **1**

its goal

- Dismiss a duplicate group A guess

1

### Moves it to its next step on o auth

Likely **1**

its goal

- Finish OAuth Likely

1

### Moves it to its next step on sync ack

A guess **1**

its goal

- Acknowledge changes A guess

1

### Joins or splits them on people

From the code **1**

its goal

- Merge the people From the code

1

### Joins or splits them on person legacy

From the code **1**

its goal

- Merge the person legacy From the code

2

### Connects it to another one on assets

From the code **2**

its 2 goals

- Tag the assets From the code
- Tag the assets (bulk) From the code

1

### Connects it to another one on assets to album

From the code **1**

its goal

- Add assets to an album From the code

1

### Connects it to another one on assets to albums

From the code **1**

its goal

- Add assets to albums From the code

1

### Connects it to another one on memory assets

From the code **1**

its goal

- Add assets to a memory From the code

1

### Connects it to another one on o auth account

Likely **1**

its goal

- Link OAuth account Likely

1

### Connects it to another one on shared link assets

From the code **1**

its goal

- Add assets to a shared link From the code

1

### Disconnects it from another one on asset from album

From the code **1**

its goal

- Remove assets from an album From the code

1

### Disconnects it from another one on assets

From the code **1**

its goal

- Untag assets From the code

1

### Disconnects it from another one on cluster group

Likely **1**

its goal

- Leave a cluster group Likely

1

### Disconnects it from another one on memory assets

From the code **1**

its goal

- Remove assets from a memory From the code

1

### Disconnects it from another one on o auth account

Likely **1**

its goal

- Unlink OAuth account Likely

1

### Disconnects it from another one on o auth accounts admin

Likely **1**

its goal

- Unlink all OAuth accounts Likely

1

### Disconnects it from another one on shared link assets

From the code **1**

its goal

- Remove assets from a shared link From the code

1

### Gives it to someone on faces

Likely **1**

its goal

- Reassign faces Likely

1

### Gives it to someone on faces by id

Likely **1**

its goal

- Reassign a face to another person Likely

1

### Lets someone else see it on users to album

Likely **1**

its goal

- Share album with users Likely

1

### Finds the matching ones on asset statistics

From the code **1**

its goal

- Search asset statistics From the code

1

### Finds the matching ones on assets

From the code **1**

its goal

- Search assets by metadata From the code

1

### Finds the matching ones on large assets

From the code **1**

its goal

- Search large assets From the code

1

### Finds the matching ones on random

From the code **1**

its goal

- Search random assets From the code

1

### Finds the matching ones on smart

From the code **1**

its goal

- Search the smart From the code

2

### Checks that it is right on library

From the code **1** Likely **1**

its 2 goals

- Scan a library Likely
- Validate library settings From the code

1

### Checks that it is right on access token

Likely **1**

its goal

- Validate access token Likely

1

### Checks that it is right on upload

Likely **1**

its goal

- Check bulk upload Likely

1

### Shows it on download info

Likely **1**

its goal

- Retrieve download information Likely

1

### Shows it on notification template admin

Likely **1**

its goal

- Get the notification template admin Likely

1

### Shows it on sync stream

Likely **1**

its goal

- Get the sync stream Likely

1

### Builds a result from what is there on people

Likely **1**

its goal

- Regenerate people of users in cluster group Likely

1

### Brings rows in from a file on asset

A guess **1**

its goal

- Upload asset A guess

1

### Brings rows in from a file on database backup

A guess **1**

its goal

- Upload database backup A guess

1

### Starts a job on asset jobs

A guess **1**

its goal

- Run an asset job A guess

1

### Starts a job on queue command legacy

A guess **1**

its goal

- Run jobs A guess

1

### Sends a message on test email admin

From the code **1**

its goal

- Send test email From the code

3

### Sets a password or key on api key

From the code **1** Likely **2**

its 3 goals

- Create an API key Likely
- Delete an API key Likely
- Rotate an API key From the code

2

### Sets a password or key on pin code

From the code **2**

its 2 goals

- Change pin code From the code
- Reset pin code From the code

1

### Sets a password or key on auth pin code

Likely **1**

its goal

- Create an auth pin code Likely

1

### Signs you in on admin maintenance

From the code **1**

its goal

- Login the admin maintenance From the code

1

### Signs you in on auth

From the code **1**

its goal

- Login From the code

1

### Signs you in on auth session

Likely **1**

its goal

- Unlock auth session Likely

1

### Signs you in on o auth

Likely **1**

its goal

- Start OAuth Likely

1

### Signs you in on shared link

From the code **1**

its goal

- Login the shared link From the code

1

### Signs you out on auth

From the code **1**

its goal

- Logout From the code

1

### Signs you out on o auth

Likely **1**

its goal

- Logout the o auth Likely

1

### Signs you out on video stream

From the code **1**

its goal

- Delete the video stream From the code

2

### Changes a setting on server license

From the code **1** Likely **1**

its 2 goals

- Delete server product key Likely
- Set server product key From the code

1

### Adds a comment or reaction on activity

Likely **1**

its goal

- Create an activity Likely

1

### Makes a new account on auth admin sign up

Likely **1**

its goal

- Register admin Likely

## What works today, and what does not yet

Works today as of 21 Oct 2026

**Every goal named** each of Immich's goals has a mechanic, from production's records **How sure, per goal** from the code, likely or a guess, as the app shows it

Not yet

**Checked by a person** no owner has confirmed or corrected one of Immich's yet **Tests chosen by mechanic** being built: today a test is not picked from these

## Your app, row by row like this

On the call we open Immich's rows, then read your app the same way. Tim replies by hand.

[Ask for a private demo](https://featkpr.com/demo)

---

The page this twin stands for: https://featkpr.com/library/immich/mechanics. Every page on this site has a `.md` twin, and answers `Accept: text/markdown`.
