To work with service users you have currently 2 options (a third one coming on Monday)
1) Personal Access Token (PAT) 2) Grant Type jwt-bearer
1) With the PAT it is as easy as downloading it and sending it as authorization header to an API (your own or ZITADELs)
2) Is a little more complex but secure. What happens is that you download the key.json with a private key. With this key you need to create a JWT token like this https://zitadel.com/docs/guides/integrate/serviceusers#2-create-a-jwt-and-sign-with-private-key and send it to oauth/v2/token. In return you get an access token which you can use to call you API or ZITADELs (depending on the scopes set)
Depending on your language there are already SDKs who only need to have the key.json to make it work