Endpoints and Authentication

Every Genesis model request starts with the Base URL displayed on the console’s Use page and uses a Genesis API Key as a Bearer credential. Do not derive a production address from the example below: domains and path segments can differ between deployments.

Construct a request URL

A Base URL can have this form; always use the value from your console:

https://moi.matrixorigin.cn/taas/v1

Paths in this section are relative to that Base URL. If the Base URL already ends in /v1, the Chat Completions URL is:

https://moi.matrixorigin.cn/taas/v1/chat/completions

Do not append another /v1. Keep the value unchanged in an environment variable:

export GENESIS_BASE_URL="https://moi.matrixorigin.cn/taas/v1"
export GENESIS_API_KEY="<your-api-key>"

Authenticate a request

Raw HTTP requests accept this authentication header:

Authorization: Bearer <API_KEY>

An X-API-Key header, UC Control API Key, AI Studio personal access token, or browser cookie cannot replace a Genesis API Key. Send only one credential with a request.

curl "$GENESIS_BASE_URL/models" \
  -H "Authorization: Bearer $GENESIS_API_KEY"

Genesis keys are normally issued through a service account in the unified account system. Some deployments also expose local key issuance on the Genesis Keys page. A complete key may be shown only when it is created or rotated. Store it immediately in a secret manager; never put it in source code, images, logs, or a client-side application.

Configure an SDK

For OpenAI-compatible endpoints, set the SDK’s api_key to the Genesis key and base_url to the console value:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GENESIS_API_KEY"],
    base_url=os.environ["GENESIS_BASE_URL"],
)

Do not append an endpoint path to base_url; the SDK adds /chat/completions, /embeddings, and similar paths. Messages uses the native Anthropic request shape and has separate configuration details in Messages and Streaming Calls.

Permissions, quotas, and rotation

A key can restrict its models, expiration, total and daily quotas, concurrency, RPM, and TPM. The exact controls depend on the deployment.

Status

What to check

401

The key is correct, active, and unexpired; the header uses Authorization: Bearer

403

The requested model is in the key’s allowed model scope

404

The Base URL does not contain a duplicated version segment; the model ID exists

429

Quota, concurrency, RPM, or TPM has not been exhausted

Rotating a key invalidates the previous value immediately. Deploy and verify the new key in every caller before the old value is no longer used. For key-management procedures, see Manage API Keys.