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

# Quickstart

> Make your first MKA1 API request with an API key and SDK.

Start with an MKA1 API key and your deployment’s API gateway URL. If you need a key, see [API keys](/docs/authentication). You do not need to create an organization or configure resource permissions to use a key your administrator has already provided.

## Install a client

<CodeGroup>
  ```bash TypeScript theme={null}
  npm install @meetkai/mka1
  ```

  ```bash OpenAI theme={null}
  npm install openai
  ```

  ```bash Python theme={null}
  pip install meetkai-mka1
  ```

  ```bash C# theme={null}
  dotnet add package MeetKai.MKA1
  ```
</CodeGroup>

For the command line, follow [CLI installation](/docs/cli/introduction) and [authentication](/docs/cli/authentication).

## Choose your endpoint

The hosted API uses `https://apigw.mka1.com`. For a private deployment, use the gateway URL supplied by your administrator. See [SDKs](/docs/sdks) for each client’s server URL option. The model `auto` must resolve to an active model in your organization; see [Models](/docs/models).

## Send your first request

Pass a string in `input` for a single-turn request.
The response includes generated text in `output_text`.
If a guardrail blocks the request, `output_text` is absent and the output carries a refusal instead; see [Guardrails](/docs/guardrails#detect-a-block-in-code).

<CodeGroup>
  ```ts TypeScript SDK theme={null}
  import { SDK } from '@meetkai/mka1';

  const sdk = new SDK({ bearerAuth: 'Bearer <mka1-api-key>' });

  const result = await sdk.llm.responses.create({
    xOnBehalfOf: '<end-user-id>', // optional — attribute the request to one of your end users
    responsesCreateRequest: {
      model: 'auto',
      input: 'Write a one-sentence summary of the MKA1 API.',
    },
  });
  ```

  ```ts OpenAI SDK theme={null}
  import OpenAI from 'openai';

  const openai = new OpenAI({
    apiKey: '<mka1-api-key>',
    baseURL: 'https://apigw.mka1.com/api/v1/llm/',
    defaultHeaders: { 'X-On-Behalf-Of': '<end-user-id>' },
  });

  const response = await openai.responses.create({
    model: 'auto',
    input: 'Write a one-sentence summary of the MKA1 API.',
    stream: false,
  });
  ```

  ```python Python SDK theme={null}
  from meetkai_mka1 import SDK

  sdk = SDK(bearer_auth="Bearer <mka1-api-key>")

  res = sdk.llm.responses.create(
      model="auto",
      input="Write a one-sentence summary of the MKA1 API.",
      x_on_behalf_of="<end-user-id>",  # optional — attribute the request to one of your end users
  )
  ```

  ```csharp C# SDK theme={null}
  using MeetKai.MKA1;
  using MeetKai.MKA1.Types.Components;
  using MeetKai.MKA1.Types.Requests;

  var sdk = new SDK(bearerAuth: "Bearer <mka1-api-key>");

  var res = await sdk.Llm.Responses.CreateAsync(new ResponsesCreateRequest()
  {
      Model = "auto",
      Input = ResponsesCreateRequestInput.CreateStr(
          "Write a one-sentence summary of the MKA1 API."),
  });
  ```

  ```bash CLI theme={null}
  mka1 llm responses create \
    --model auto \
    --input '"Write a one-sentence summary of the MKA1 API."' \
    -H 'X-On-Behalf-Of: <end-user-id>'
  ```

  ```bash Bash theme={null}
  curl https://apigw.mka1.com/api/v1/llm/responses \
    --request POST \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <mka1-api-key>' \
    --header 'X-On-Behalf-Of: <end-user-id>' \
    --data '{
      "model": "auto",
      "input": "Write a one-sentence summary of the MKA1 API."
    }'
  ```
</CodeGroup>

If you are not acting for an end user, omit `X-On-Behalf-Of`.

## Read the result

A successful response contains an ID and generated output. Look for `output_text` in the wire response (`outputText` in the TypeScript SDK). A guardrail refusal is a different output item, so do not assume every successful HTTP request contains text.

## Next steps

* [Text generation](/docs/generate-a-response): instructions, messages, and generation settings.
* [Streaming](/docs/streaming): display text as it arrives.
* [Create and run agents](/docs/managing-agents): save reusable model and tool configurations.
