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

# Create a human funding handoff

> Creates an exact-amount, one-hour Stripe Checkout Session for the authenticated agent account. The payer card is not attached to the agent account for future use. Reuse the Idempotency-Key for retries of the same logical link.



## OpenAPI

````yaml /api-reference/openapi.json post /credits/agent/funding-sessions
openapi: 3.1.0
info:
  title: Locus Pro API
  description: >-
    Access paid tools, manage prepaid balances, and build usage billing. Send
    money as exact decimal strings and reuse Idempotency-Key on retries.
    Management routes require a scoped server key or authorized dashboard
    session. Sensitive workspace changes require an owner or admin with recent
    MFA or passkey verification, except where an operation documents a stricter
    boundary. Interactive agents use MCP OAuth; unattended agents use scoped
    Agent Connections. Browser widgets use end-user tokens.
  version: 0.7.0
servers:
  - url: https://api.paywithlocus.com/api
    description: Production
  - url: https://api.stage.paywithlocus.com/api
    description: Stage — evaluation and integration testing
security:
  - secretKey: []
tags:
  - name: Authentication
    description: Email-verified self-serve account creation and dashboard identity
  - name: Tenants
    description: Tenant profile, keys, and settings (dashboard session or secret key)
  - name: Workspace members
    description: Invite-only human workspace membership and role administration
  - name: Catalog
    description: Enable/disable APIs and set markups
  - name: Custom APIs
    description: Feature-gated enterprise BYOK providers and schema-backed custom actions
  - name: End users
    description: End-user accounts, tokens, and allocations
  - name: Top-ups
    description: Locus-hosted checkout top-ups and quotes
  - name: Ledger
    description: Burn/top-up history and earnings
  - name: Webhooks
    description: Signed events, delivery inspection, and replay
  - name: Burn
    description: Metered pay-per-use calls
  - name: MCP
    description: Stateless Streamable HTTP transport and MCP tool-result contracts
  - name: Okibi Identity
    description: >-
      Feature-gated Okibi identity verification and scoped native CLI credential
      bootstrap
  - name: Widget
    description: End-user JWT surface; a matching publishable key is optional
  - name: Agent-native onboarding
    description: >-
      Self-registration, human Stripe funding handoff, and restricted account
      setup for headless agents
  - name: Hosted Workflows
    description: >-
      Tenant-private TypeScript Workflow definitions, immutable versions,
      bounded runs, artifacts, and recovery
  - name: Agent connections
    description: Scoped, expiring, revocable credentials for agent execution
  - name: Recipes
    description: >-
      Search, research, extraction, enrichment, and travel outcomes across
      providers
paths:
  /credits/agent/funding-sessions:
    post:
      tags:
        - Agent-native onboarding
      summary: Create a human funding handoff
      description: >-
        Creates an exact-amount, one-hour Stripe Checkout Session for the
        authenticated agent account. The payer card is not attached to the agent
        account for future use. Reuse the Idempotency-Key for retries of the
        same logical link.
      parameters:
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 255
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentFundingAmount'
      responses:
        '201':
          description: Stripe funding handoff created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentFundingSession'
        '400':
          description: Invalid amount or missing Idempotency-Key
        '403':
          description: Not the self-registered account credential or funding is disabled
        '429':
          description: Funding-link rate limit exceeded
      security:
        - agentConnection: []
components:
  schemas:
    AgentFundingAmount:
      oneOf:
        - type: object
          required:
            - usd
          not:
            required:
              - credits
          properties:
            usd:
              $ref: '#/components/schemas/DecimalString'
          additionalProperties: false
        - type: object
          required:
            - credits
          not:
            required:
              - usd
          properties:
            credits:
              $ref: '#/components/schemas/DecimalString'
          additionalProperties: false
    AgentFundingSession:
      type: object
      additionalProperties: false
      required:
        - success
        - fundingSessionId
        - checkoutUrl
        - statusUrl
        - expiresAt
        - quote
        - humanHandoff
        - pollAfterMs
      properties:
        success:
          const: true
        fundingSessionId:
          type: string
          pattern: ^cs_
        checkoutUrl:
          type: string
          format: uri
          description: Share only this Stripe-hosted URL with the human payer.
        statusUrl:
          type: string
          format: uri
        expiresAt:
          type:
            - string
            - 'null'
          format: date-time
        quote:
          $ref: '#/components/schemas/AgentFundingQuote'
        humanHandoff:
          type: object
          additionalProperties: false
          required:
            - message
            - instruction
          properties:
            message:
              type: string
            instruction:
              type: string
        pollAfterMs:
          type: integer
          minimum: 1000
    DecimalString:
      type: string
      pattern: ^\d+(?:\.\d{1,6})?$
      description: >-
        Non-negative exact decimal string with at most six fractional digits.
        Endpoint-specific positivity and amount limits still apply.
    AgentFundingQuote:
      type: object
      additionalProperties: false
      required:
        - feeMode
        - creditsUsd
        - credits
        - feeUsd
        - totalUsd
      properties:
        feeMode:
          type: string
          enum:
            - pass_through
            - absorb
        creditsUsd:
          $ref: '#/components/schemas/DecimalString'
        credits:
          $ref: '#/components/schemas/DecimalString'
        feeUsd:
          $ref: '#/components/schemas/DecimalString'
        totalUsd:
          $ref: '#/components/schemas/DecimalString'
  securitySchemes:
    secretKey:
      type: http
      scheme: bearer
      description: Tenant secret key (lcr_…). Server-side only.
    agentConnection:
      type: http
      scheme: bearer
      description: >-
        Scoped lcac_ credential. Tenant-managed Agent Connections authorize only
        their bound MCP and wrapped execution surfaces. A bootstrap connection
        for a self-registered agent additionally authorizes the explicit
        /credits/agent/* self-service routes for its own account; neither form
        authorizes general tenant management.

````

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