> ## Documentation Index
> Fetch the complete documentation index at: https://generaltranslation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Client

X API के लिए मुख्य Client क्लास

यह X API के साथ इंटरैक्ट करने का मुख्य एंट्री पॉइंट है। यह विशेष Client मॉड्यूलों के माध्यम से
सभी API एंडपॉइंट्स तक पहुंच प्रदान करता है और
प्रमाणीकरण, अनुरोध कॉन्फ़िगरेशन और त्रुटि प्रबंधन को संभालता है।

**`उदाहरण`**

```typescript theme={null}
import { Client } from '@xdevplatform/xdk';

const client = new Client({
  bearerToken: 'your-bearer-token'
});

// उपयोगकर्ता की जानकारी प्राप्त करें
const user = await client.users.getUser('783214');

// पेजिनेशन के साथ फ़ॉलोअर्स प्राप्त करें
const followers = await client.users.getFollowers('783214', {
  maxResults: 10,
  userFields: ['id', 'name', 'username']
});

// फ़ॉलोअर्स पर इटरेट करें
for await (const follower of followers) {
  console.log(follower.username);
}
```

<div id="constructors">
  ## कंस्ट्रक्टर्स
</div>

<div id="constructor">
  ### constructor
</div>

• **new Client**(`config`): [`Client`](/hi/xdks/typescript/reference/classes/Client)

एक नया X API Client instance बनाता है

<div id="parameters">
  #### पैरामीटर
</div>

| नाम      | type  | विवरण                             |
| :------- | :---- | :-------------------------------- |
| `config` | `any` | Client के लिए कॉन्फ़िगरेशन विकल्प |

<div id="returns">
  #### रिटर्न
</div>

[`Client`](/hi/xdks/typescript/reference/classes/Client)

**`उदाहरण`**

```typescript theme={null}
// बेयरर टोकन प्रमाणीकरण
const client = new Client({
  bearerToken: 'your-bearer-token'
});

// OAuth2 प्रमाणीकरण
const client = new Client({
  accessToken: 'your-access-token'
});

// OAuth1 प्रमाणीकरण
const client = new Client({
  oauth1: oauth1Instance
});
```

[client.ts:401](https://github.com/xdevplatform/xdk-typescript/blob/81aacb165e0802e188f608bdf462b60fc4e713a2/src/client.ts#L401)

<div id="properties">
  ## गुण
</div>

<ResponseField name="baseUrl" type="string" required>
  API अनुरोधों के लिए बेस URL
</ResponseField>

<ResponseField name="bearerToken" type="string">
  प्रमाणीकरण के लिए बेयरर टोकन
</ResponseField>

<ResponseField name="accessToken" type="string">
  OAuth2 एक्सेस टोकन
</ResponseField>

<ResponseField name="oauth1" type="any">
  प्रमाणीकरण के लिए OAuth1 इंस्टेंस
</ResponseField>

<ResponseField name="headers" type="Headers" required>
  अनुरोधों के लिए हेडर्स
</ResponseField>

<ResponseField name="timeout" type="number" required>
  मिलीसेकंड में अनुरोध का टाइमआउट
</ResponseField>

<ResponseField name="retry" type="boolean" required>
  क्या विफल अनुरोधों को अपने-आप फिर से आज़माया जाए
</ResponseField>

<ResponseField name="maxRetries" type="number" required>
  फिर से प्रयास करने की अधिकतम संख्या
</ResponseField>

<ResponseField name="httpClient" type="HttpClient = httpClient" required>
  अनुरोध भेजने के लिए HTTP Client
</ResponseField>

<ResponseField name="general" type="GeneralClient" required>
  सामान्य Client
</ResponseField>

<ResponseField name="accountActivity" type="AccountActivityClient" required>
  अकाउंट गतिविधि Client
</ResponseField>

<ResponseField name="communityNotes" type="CommunityNotesClient" required>
  कम्युनिटी नोट्स Client
</ResponseField>

<ResponseField name="compliance" type="ComplianceClient" required>
  अनुपालन Client
</ResponseField>

<ResponseField name="connections" type="ConnectionsClient" required>
  कनेक्शंस Client
</ResponseField>

<ResponseField name="users" type="UsersClient" required>
  यूज़र्स Client
</ResponseField>

<ResponseField name="news" type="NewsClient" required>
  समाचार Client
</ResponseField>

<ResponseField name="spaces" type="SpacesClient" required>
  स्पेसेज़ Client
</ResponseField>

<ResponseField name="activity" type="ActivityClient" required>
  गतिविधि Client
</ResponseField>

<ResponseField name="usage" type="UsageClient" required>
  उपयोग Client
</ResponseField>

<ResponseField name="trends" type="TrendsClient" required>
  ट्रेंड्स Client
</ResponseField>

<ResponseField name="posts" type="PostsClient" required>
  पोस्ट्स Client
</ResponseField>

<ResponseField name="directMessages" type="DirectMessagesClient" required>
  डायरेक्ट मैसेजेस Client
</ResponseField>

<ResponseField name="communities" type="CommunitiesClient" required>
  कम्युनिटीज़ Client
</ResponseField>

<ResponseField name="media" type="MediaClient" required>
  मीडिया Client
</ResponseField>

<ResponseField name="webhooks" type="WebhooksClient" required>
  वेबहुक्स Client
</ResponseField>

<ResponseField name="stream" type="StreamClient" required>
  स्ट्रीम Client
</ResponseField>

<ResponseField name="lists" type="ListsClient" required>
  सूचियाँ Client
</ResponseField>

<ResponseField name="request" type="Promise<T>" required>
  X API के लिए प्रमाणीकृत अनुरोध करें

  यह मेथड सभी API अनुरोधों के लिए प्रमाणीकरण, अनुरोध फ़ॉर्मैटिंग और त्रुटि प्रबंधन
  संभालता है। यह Client कॉन्फ़िगरेशन के आधार पर उपयुक्त प्रमाणीकरण
  हेडर्स अपने-आप जोड़ता है।
</ResponseField>

<ResponseField name="isTokenExpired" type="boolean" required>
  जाँचें कि OAuth2 टोकन की समय-सीमा समाप्त हो गई है या नहीं
</ResponseField>

<ResponseField name="refreshToken" type="Promise<void>" required>
  OAuth2 टोकन को रिफ्रेश करें
</ResponseField>

<ResponseField name="isAuthenticated" type="boolean" required>
  मौजूदा प्रमाणीकरण स्थिति प्राप्त करें
</ResponseField>

<ResponseField name="mapSecuritySchemeToAuthTypes" type="string[]" required>
  OpenAPI सुरक्षा स्कीम नामों को आंतरिक प्रमाणीकरण प्रकारों से मैप करें
</ResponseField>

<ResponseField name="validateAuthentication" type="void" required>
  सत्यापित करें कि आवश्यक प्रमाणीकरण विधि उपलब्ध है
</ResponseField>

<ResponseField name="getAvailableAuthTypes" type="string[]" required>
  उपलब्ध प्रमाणीकरण प्रकार प्राप्त करें
</ResponseField>
