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. :::