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

# Mint a 12-hour AWS session scoped to one dataset folder for aws s3 cp (renders in the portal only, once)

> Mint a 12-hour AWS session scoped to one dataset folder for aws s3 cp (renders in the portal only, once). High stakes: Creates live AWS credentials that can read and write one dataset folder for 12 hours. Shown once, in the browser only. Interactive clients should confirm with the user first. The response carries a one-time secret in `secret`; store it immediately and redact the response from logs. Runs as the token's owner within their role; the portal's own authorization and audit log apply.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/admin/mint_training_upload_session
openapi: 3.0.3
info:
  title: AI Reserve Gateway API
  description: >-
    The AI Reserve API surface — OpenAI-compatible chat completions,
    Anthropic-compatible messages, Bedrock Converse, images, video, files,
    text-to-speech, realtime voice sessions, provider-hidden GPU infrastructure,
    and fine-tuning — all behind one endpoint and one API key.
  version: 1.0.0
servers:
  - url: https://api.aireserve.com
security:
  - bearerAuth: []
tags:
  - name: Customers
    description: >-
      Per-end-customer usage, cost, and billable amounts for organizations that
      tag requests with their own customers.
  - name: GPU Infrastructure
    description: >-
      Provision and manage provider-hidden GPU instances. The recommended
      Instances API accepts workload requirements and an hourly price ceiling;
      AI Reserve handles provider placement internally. Every mutation is
      asynchronous and returns an operation to poll.
  - name: Customer keys
    description: >-
      Mint, list, and revoke API keys pinned to your own end customers (and
      their organizations), so spend splits per customer without per-request
      tagging.
  - name: AWS CLI login
    description: >-
      Browser-authorization endpoints consumed by `aws login --profile …` (AWS
      CLI v2.32.0+). All three routes are unauthenticated — the caller has no
      credential until `/v1/token` succeeds.
  - name: Fine-tuning
    description: >-
      Fine-tune open models on your own data. Data lives in an S3 bucket inside
      your organization's AWS hub account; you name a base, LoRA or full, a
      price ceiling and how the result must be servable, and AI Reserve places
      the run on a backend internally. The result is a model in your bucket you
      can deploy or download.
  - name: 'Admin: Catalog'
    description: Discover the operations available to this token.
  - name: 'Admin: Analytics'
    description: Usage, spend and attribution reads.
  - name: 'Admin: API Keys'
    description: Organization and team inference keys.
  - name: 'Admin: Billing'
    description: Wallet, ledger and invoice reads.
  - name: 'Admin: Compute'
    description: GPU machines and persistent storage (quote, launch, inspect, stop).
  - name: 'Admin: Containers'
    description: The organization's AWS account, ECS services, logs and secrets.
  - name: 'Admin: Files'
    description: Organization shared files.
  - name: 'Admin: Members'
    description: 'People in the organization: invite, profile, team, access, role.'
  - name: 'Admin: Models & Routing'
    description: Model availability, defaults, fallbacks and routing.
  - name: 'Admin: Organization'
    description: Retention, logging, branding, sign-in domains, classification.
  - name: 'Admin: Personal'
    description: The caller's own usage, budget, API keys and preferences.
  - name: 'Admin: Teams & Budgets'
    description: Teams, spend caps and allocations.
  - name: 'Admin: Training'
    description: Fine-tuning datasets, runs, models and deployments.
paths:
  /v1/admin/mint_training_upload_session:
    post:
      tags:
        - 'Admin: Training'
      summary: >-
        Mint a 12-hour AWS session scoped to one dataset folder for aws s3 cp
        (renders in the portal only, once)
      description: >-
        Mint a 12-hour AWS session scoped to one dataset folder for aws s3 cp
        (renders in the portal only, once). High stakes: Creates live AWS
        credentials that can read and write one dataset folder for 12 hours.
        Shown once, in the browser only. Interactive clients should confirm with
        the user first. The response carries a one-time secret in `secret`;
        store it immediately and redact the response from logs. Runs as the
        token's owner within their role; the portal's own authorization and
        audit log apply.
      operationId: mint_training_upload_session
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                clientId:
                  description: >-
                    Target organization id — platform admins only; omit
                    otherwise
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                datasetId:
                  type: string
                  description: Dataset id or folder name
              required:
                - datasetId
      responses:
        '200':
          description: 'Executed successfully (`ok: true`).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOutcome'
        '400':
          description: Invalid input for this operation, or a confirm token problem.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminRefusal'
        '401':
          description: >-
            Missing, expired or revoked management token. Inference API keys are
            refused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminAuthError'
        '403':
          description: The operation is not available at the caller's access level.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminRefusal'
        '404':
          description: Unknown operation id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminRefusal'
        '409':
          description: The target changed since it was described (`target_changed`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminRefusal'
        '422':
          description: >-
            Executed but the operation reported a failure (`ok: false`, see
            `message`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOutcome'
        '429':
          description: Organization request budget exhausted; see `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminAuthError'
      security:
        - managementToken: []
components:
  schemas:
    AdminOutcome:
      type: object
      properties:
        status:
          type: string
          enum:
            - executed
        ok:
          type: boolean
          description: Whether the operation succeeded.
        summary:
          type: string
          description: >-
            The consent line describing what was done, built from resolved
            labels.
        message:
          type: string
          description: Human-readable result line.
        data:
          description: Operation payload (reads) or detail worth relaying (writes).
        secret:
          description: >-
            A one-time secret the operation minted (API key, credential). Shown
            once; store it now.
          type: string
        sensitive:
          description: 'Present exactly when `secret` is: redact this response from logs.'
          type: boolean
          enum:
            - true
      required:
        - status
        - ok
        - summary
        - message
      additionalProperties: false
    AdminRefusal:
      type: object
      properties:
        status:
          type: string
          enum:
            - refused
        code:
          type: string
          enum:
            - unknown_op
            - not_allowed
            - invalid_input
            - confirm_invalid
            - confirm_expired
            - target_changed
        error:
          type: string
      required:
        - status
        - code
        - error
      additionalProperties: false
    AdminAuthError:
      type: object
      properties:
        error:
          type: string
        error_description:
          type: string
      required:
        - error
        - error_description
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your AI Reserve API key (aireserve_api_…) from the API Keys page in the
        portal (https://portal.aireserve.com/keys).
    managementToken:
      type: http
      scheme: bearer
      bearerFormat: aireserve_mcp_…
      description: >-
        A management token: minted by the OAuth flow (`aireserve login`, or an
        MCP client's Authenticate step) or on the portal Keys page under
        Management Keys. Inference API keys are refused.

````

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