> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# অথ

> আপনার অ্যাকাউন্টের মাধ্যমে Social media studio CLI প্রমাণীকরণ করুন

`auth:*` কমান্ডগুলো API-র সাথে কথা বলতে CLI যে ক্রেডেনশিয়াল ব্যবহার করে তা পরিচালনা করে। ক্রেডেনশিয়াল লোকালি `~/.so-me/config.json`-এ (`so-me-dev` বাইনারির জন্য `~/.so-me-dev/config.json`) সংরক্ষিত থাকে।

> [!NOTE]
>
> প্রতিটি কমান্ড গ্লোবাল ফ্ল্যাগ `--api-key <key>`, `--api-url <url>`, `--json` (ডিফল্ট), `--table` ও `--verbose` গ্রহণ করে। `SOME_API_KEY` ও `SOME_API_URL` এনভায়রনমেন্ট ভ্যারিয়েবল সংরক্ষিত ক্রেডেনশিয়ালের চেয়ে অগ্রাধিকার পায়। বিস্তারিত জানতে [CLI ওভারভিউ](/bn/cli/overview.md) দেখুন।

## auth:login

API-র সাথে প্রমাণীকরণ করুন। আপনি সরাসরি একটি API কী দিতে পারেন, অথবা তা বাদ দিয়ে ব্রাউজার-অনুমোদিত ডিভাইস প্রভিশনিং শুরু করতে পারেন। [Auth.md গাইড](https://so-me.studio/auth.md)-এ ডিভাইস এন্ডপয়েন্ট এবং আলাদা MCP OAuth ফ্লো নথিভুক্ত আছে।

```bash theme={null}
so-me auth:login [options]
```

| অপশন | বিবরণ |
| - | - |
| `--api-key <key>` | লোকালি সংরক্ষণের জন্য API কী। এটি দিলে ডিভাইস ফ্লো এড়িয়ে যাওয়া হয়। |

### API কী দিয়ে লগইন

`--api-key` দিলে CLI কীটি লোকাল কনফিগে সংরক্ষণ করে (গ্লোবাল `--api-url` ফ্ল্যাগও দিলে সেটিসহ) এবং সার্ভারের সাথে যোগাযোগ না করেই বেরিয়ে যায়।

```bash theme={null}
so-me auth:login --api-key sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
```

```bash আউটপুট theme={null}
Authentication settings saved successfully.
Run "so-me auth:status" to verify.
```

কী সংরক্ষণের সময় কাস্টম API URL-ও নির্দিষ্ট করতে পারেন:

```bash theme={null}
so-me auth:login --api-key sk_live_xxxxxxxxxxxxxxxxxxxxxxxx --api-url https://api.so-me.studio
```

> [!TIP]
>
> স্ক্রিপ্ট ও CI/CD-র জন্য API কী প্রমাণীকরণ সুপারিশ করা হয়। কী সংরক্ষণের বিকল্প হিসেবে `SOME_API_KEY` এনভায়রনমেন্ট ভ্যারিয়েবল সেট করতে পারেন।

### ব্রাউজার-অনুমোদিত ডিভাইস প্রভিশনিং

`--api-key` বাদ দিলে CLI `/auth/device/code` ও `/auth/device/token` ব্যবহার করে ডিভাইস অথোরাইজেশন ওয়ার্কফ্লো শুরু করে। এই JSON এন্ডপয়েন্টগুলো ব্যবহারকারীর অনুমোদনের পর একটি API কী প্রভিশন করে; এগুলো MCP OAuth টোকেন এন্ডপয়েন্ট থেকে আলাদা:

```bash theme={null}
so-me auth:login
```

**1. ডিভাইস কোডের অনুরোধ করুন**

CLI API থেকে একটি ডিভাইস কোড চায় এবং একটি ভেরিফিকেশন URL ও একবার-ব্যবহারযোগ্য ইউজার কোড প্রিন্ট করে। কোডটি কত মিনিট বৈধ থাকবে তাও জানায়।

**2. URL খুলে কোড দিন**

CLI স্বয়ংক্রিয়ভাবে আপনার ব্রাউজার খোলার চেষ্টা করে (যথাসাধ্য)। না খুললে প্রিন্ট করা URL নিজে খুলুন, তারপর দেখানো কোডটি দিন।

**3. অনুমোদনের জন্য অপেক্ষা করুন**

আপনি ব্রাউজারে অনুমোদন দেওয়ার সময় CLI API পোল করে। অনুমোদিত হলে এটি অনুমোদিত ইমেইল নিশ্চিত করে এবং তৈরি হওয়া API কী স্বয়ংক্রিয়ভাবে সংরক্ষণ করে।

```bash আউটপুট theme={null}
  To authenticate, open this URL in your browser:

  https://app.so-me.studio/cli/authorize

  And enter this code:

  WDJB-MJHT

  Code expires in 10 minutes.
  Browser opened automatically.

✔ Device authorized!

  Logged in as jane@example.com
  API key generated and saved.
  Run "so-me auth:status" to verify.
```

> [!WARNING]
>
> ডিভাইস ফ্লো সফল হলেও আপনার প্ল্যান API কী তৈরি করতে না পারলে CLI এর বদলে একটি সতর্কতা প্রিন্ট করে। API অ্যাক্সেসের জন্য Standard, Advanced বা Lifetime প্ল্যান দরকার। নিজে একটি কী তৈরি করুন এবং শেষ করতে `so-me auth:login --api-key <key>` চালান।

কোড মেয়াদোত্তীর্ণ হলে বা আপনি সম্পন্ন করার আগেই অথোরাইজেশন টাইমআউট হলে ডিভাইস ফ্লো নন-জিরো কোডে বেরিয়ে যায়। নতুন করে শুরু করতে `so-me auth:login` আবার চালান।

## auth:status

বর্তমান প্রমাণীকরণের অবস্থা দেখান, মাস্ক করা API কী ও কনফিগার করা API URL সহ। এটি শুধু লোকাল পরীক্ষা — সংরক্ষিত কনফিগ পড়ে, সার্ভারে যায় না।

```bash theme={null}
so-me auth:status
```

```bash আউটপুট theme={null}
Authenticated
  API Key: sk_live_xxxx...abcd
  API URL: https://api.so-me.studio
  Workspace: my-workspace
```

`Workspace` লাইনটি তখনই দেখানো হয় যখন একটি ডিফল্ট ওয়ার্কস্পেস কনফিগার করা থাকে। কোনো ক্রেডেনশিয়াল সংরক্ষিত না থাকলে কমান্ডটি জানায় যে আপনি প্রমাণীকৃত নন এবং `auth:login`-এর দিকে নির্দেশ করে।

```bash আউটপুট (লগইন করা নেই) theme={null}
Not authenticated.
Run "so-me auth:login --api-key <key>" to authenticate.
```

## auth:whoami

বর্তমান API কী সার্ভারের বিপরীতে যাচাই করুন এবং প্রমাণীকৃত ব্যবহারকারী ও অর্গানাইজেশন প্রিন্ট করুন। শুধু লোকাল কনফিগ পড়া `auth:status`-এর বিপরীতে এই কমান্ড API-তে (`/v1/settings/profile` ও `/v1/settings/organization`) যায় এবং কী প্রত্যাহার করা হয়ে থাকলে সাথে সাথে ব্যর্থ হয়।

```bash theme={null}
so-me auth:whoami
```

```bash উদাহরণ theme={null}
# Default JSON output
so-me auth:whoami

# Compact table
so-me auth:whoami --table

# Pipe to jq — just the email
so-me auth:whoami | jq -r '.user.email'

# Confirm the active organization
so-me auth:whoami | jq '{org: .organization.name, role: .user.tenantRole}'
```

ফলাফল হলো একটি অবজেক্ট, যেখানে দুটি রেসপন্স `user` ও `organization` কী-র অধীনে একত্র করা আছে:

```json theme={null}
{
  "user": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "email": "jane@example.com"
  },
  "organization": {
    "id": "6f9619ff-8b86-d011-b42d-00c04fc964ff",
    "name": "Acme Inc"
  }
}
```

## auth:logout

লোকাল কনফিগ ফাইল মুছে সংরক্ষিত ক্রেডেনশিয়াল সরিয়ে দিন।

```bash theme={null}
so-me auth:logout
```

```bash আউটপুট theme={null}
Logged out. Credentials removed.
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.