Skip to main content

01. Authenticate

How to authenticate with the Jinkō API​

In order to interact with the Jinkō API, you'll first need to authenticate your application or script. Authentication is performed using an API key and a project ID, both obtainable from your Jinkō project settings (see the Quick Start).

Authentication using environment variables​

The recommended way to authenticate is to store your credentials in environment variables and let JinkoClient read them automatically:

export JINKO_API_KEY="your-api-key"
export JINKO_PROJECT_ID="your-project-id"
from jinko import JinkoClient

# Reads JINKO_API_KEY and JINKO_PROJECT_ID from the environment
client = JinkoClient()

result = client.auth_check()
print(result.status) # "authenticated" on success

Passing credentials explicitly​

If you'd rather not rely on environment variables, pass the credentials directly when constructing the client:

from jinko import JinkoClient

client = JinkoClient(
api_key="your-api-key",
project_id="your-project-id",
)

client.auth_check()

Handling authentication errors​

auth_check() raises AuthenticationError if the API key is invalid, and ConfigurationError if the credentials are missing or malformed (for instance not a valid UUID):

from jinko import JinkoClient, AuthenticationError, ConfigurationError

try:
client = JinkoClient()
client.auth_check()
except ConfigurationError as e:
print(f"Configuration issue: {e}")
except AuthenticationError as e:
print(f"Auth failed: {e}")