import Tooltip from '_core/components/Tooltip/Tooltip';
import IfApp from '_core/components/IfApp.tsx';
import Admonition from '@theme/Admonition';
# Getting Your Credentials
## Introduction
To interact with the noon Partner APIs, you need to authenticate your requests using a
service account.
This page will walk you through the steps to obtain your authentication credentials.
:::warning For Integrators
If you're an **integrator**, use this guide to get **your own** credentials. You'll need these to authenticate your API calls to noon.
However, to access **seller projects** on behalf of sellers, **use the [OAuth flow][oauth-credentials] instead**. OAuth automatically creates service accounts in your project with access to seller projects - sellers should never manually share their credentials with you. After completing the OAuth flow, you can use the [API User Service][apiuser-managing-credentials] to programmatically create and manage credentials for the new service accounts.
:::
## Prerequisites
- You must have a noon Partner account that you can use to access the [noon Partner platform][noon-partner-platform]. If you don't have an account yet, check [noon's Partner onboarding process][partner-onboarding] to get started.
## Credential Details & Limits
Before proceeding, here are some important details about the service account credentials:
- **Session lifetime:** 30 days
- **Quota:** Each partner can create 1 service account from the [seller portal][partner-api-access]
- A service account can have maximum 5 keys - although we do not recommend having multiple active keys.
- You may deactivate a key if you suspect misuse (deactivation is immediate and subsequent logins for that key will fail).
## Getting Authentication Credentials
1. Go to the [Access App][partner-access-app] OR Navigate to User access in the User & Access section
![image.png][access/user-access-1]
2. Navigate to API Users from the left sidebar.
![image.png][access/user-access-2]
3. Click "Add Service Account" to create a new service account.
- This will be needed to authentication with our APIs.
![image.png][access/user-access-3]
4. Fill in the Display Name and Username.
- Optionally, whitelist IPs and set an expiry for the key.
- If whitelist IPs are not set, the key will be valid for all IPs.
- If an expiry is not set, the key will be valid forever.
![image.png][access/add-service-account]
On the **Select Role** screen, the default role is **Project Owner**. Click on **Project Owner** and change it to the **Project Admin** role, then click **Save**.
![image.png][access/credentials/role-selection]
5. To grant the service account access to your project, select a suitable role that the service account will need. You can also grant multiple roles to a service account.
![image.png][access/credentials/role-selection]
6. After clicking "Add", a *.json* file will be downloaded to your machine and that file is used as mentioned in the [Authenticating Your Requests][authenticating-requests] guide.
:::tip Programmatic Credential Management
Need to create or rotate credentials programmatically? Use the [API User Service][apiuser-managing-credentials] to manage service account credentials via API — without logging into the portal. The downloaded `.json` key file contains a `channel_identifier`, which the API User Service accepts in place of a `user_code` when identifying the target service account.
:::