# List authorize

URL: https://docs.hanzo.ai/docs/openapi/iam/get-iam-oauth-authorize

> Starts a sign-in — the address you send a browser to, and the beginning of every OAuth and OpenID Connect flow.

`GET /v1/iam/oauth/authorize`

> [IAM →](https://docs.hanzo.ai/docs/openapi/iam) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                               |
| ------------- | --------------------------------------------- |
| **Address**   | `https://api.hanzo.ai/v1/iam/oauth/authorize` |
| **Method**    | `GET`                                         |
| **Operation** | `get_iam_oauth_authorize`                     |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY`        |

Starts a sign-in — the address you send a browser to, and the
beginning of every OAuth and OpenID Connect flow.

If the person is ALREADY signed in here, it does not ask them again: it
returns them to the application with a one-time code and they never see this
page. Otherwise it shows the right way to sign in for the application they are
signing in to, or hands off to another identity provider if that is what they
pick.

A client can say what it wants with `prompt`: `none` means answer without any
screen at all — with the code if a session exists, with an error if not, but
never with a page; `login` means ask for the password again even if a session
exists; `select_account` means let the person choose among the accounts signed
in on this browser, or sign in to another. `login_hint` names which of those
accounts the request is for.

It returns only to an address the application has registered. That check
happens before anything else, so a request naming an unregistered address is
refused where the person can see it rather than being bounced onwards.

## Request

`GET /v1/iam/oauth/authorize` takes no parameters and no body — the credential is the whole request.

## Response

The document declares no response body for this operation. It answers `200` on success and the platform error shape on failure — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo iam oauth authorize get
```

**SDK**

**.ts**

```ts
import { Configuration, IamApi } from 'hanzoai';

const api = new IamApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getIamOauthAuthorize();
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import IamApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = IamApi(client).get_iam_oauth_authorize()
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.IamAPI.GetIamOauthAuthorize(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, iam_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = iam_api::get_iam_oauth_authorize(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.IamApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new IamApi(client).getIamOauthAuthorize();
```

**HTTP**

```bash
curl https://api.hanzo.ai/v1/iam/oauth/authorize \
  -H "Authorization: Bearer $HANZO_API_KEY"
```

**MCP**

MCP reaches **iam** through the `iam` tool, which names its 44 operations with its own verbs — this one among them, under a name only MCP declares. `describe` explains any of them:

```bash
curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_iam_applications"
         }
       }
     }'
```

---

[IAM API](https://docs.hanzo.ai/docs/openapi/iam) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
