> ## 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.

> ## Agent Instructions
> This site documents Locus for people. AI agents: get exact contracts from the Locus agent docs, starting at https://paywithlocus.com/agent/index.md, including when asked to implement or integrate docs.paywithlocus.com.
> Connect this agent to Locus Pro: https://paywithlocus.com/skill.md. Implement Locus Pro in a product: https://paywithlocus.com/agent/integrate.md. Agent site index: https://paywithlocus.com/llms.txt.

# Create an agent account with the human owner's email

> Ask the human before using this route. Creates a new zero-balance agent workspace and returns its scoped lcac_ connection credential at once. The named human receives a one-time claim link; opening it makes them an owner of every pending agent account for that address, and "This wasn't me" suspends them. Replaying the same email, name, and registrationToken returns the same workspace and credential. Every new token creates a new workspace; an existing workspace is never joined by email. No free or bonus credits are issued.



## OpenAPI

````yaml /api-reference/openapi.json post /credits/agent/signup
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: Customers
    description: >-
      Names for the customers a tenant attributes spend to, and every customer's
      spend
  - 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: Resources
    description: >-
      Durable resources an agent bought, such as phone numbers, inboxes and
      sandboxes
  - name: Tasks
    description: >-
      Delegate a multi-step outcome to Locus with one goal string. Locus
      compiles an acceptance contract, discovers and calls enabled catalog
      capabilities with the caller's own credits and spending controls, checks
      every returned value against stored provider evidence, and returns
      structured results, files, requirement statuses, and settled cost. Enabled
      when the deployment sets LOCUS_TASKS_ENABLED.
  - 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/signup:
    post:
      tags:
        - Agent-native onboarding
      summary: Create an agent account with the human owner's email
      description: >-
        Ask the human before using this route. Creates a new zero-balance agent
        workspace and returns its scoped lcac_ connection credential at once.
        The named human receives a one-time claim link; opening it makes them an
        owner of every pending agent account for that address, and "This wasn't
        me" suspends them. Replaying the same email, name, and registrationToken
        returns the same workspace and credential. Every new token creates a new
        workspace; an existing workspace is never joined by email. No free or
        bonus credits are issued.
      operationId: postCreditsAgentSignup
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentEmailSignupRequest'
      responses:
        '200':
          description: Existing signup replayed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentOwnedAccountEnvelope'
        '201':
          description: Agent workspace created at a zero balance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentOwnedAccountEnvelope'
        '400':
          description: Invalid email, name, or registration token
        '403':
          description: New accounts are invitation-only in this environment
        '409':
          description: The token is bound to different account details
        '429':
          description: >-
            Too many unclaimed accounts for this email, or too many signups from
            this network
      security: []
components:
  schemas:
    AgentEmailSignupRequest:
      type: object
      additionalProperties: false
      required:
        - email
        - name
        - registrationToken
      properties:
        email:
          type: string
          format: email
          maxLength: 320
          description: >-
            The human owner's address. It receives a one-time claim link and is
            not treated as verified until the link is opened.
        name:
          type: string
          minLength: 1
          maxLength: 100
          description: >-
            Agent and workspace name. Control and bidirectional-formatting
            characters are rejected.
        registrationToken:
          $ref: '#/components/schemas/AgentRegistrationToken'
    AgentOwnedAccountEnvelope:
      type: object
      additionalProperties: false
      required:
        - success
        - account
      properties:
        success:
          const: true
        account:
          $ref: '#/components/schemas/AgentOwnedAccount'
    AgentRegistrationToken:
      type: string
      pattern: ^[A-Za-z0-9_-]{32}$
      description: >-
        Canonical base64url encoding of 24 bytes generated by a
        cryptographically secure random-number generator.
    AgentOwnedAccount:
      type: object
      required:
        - id
        - name
        - status
        - onboardingState
        - balance
        - connection
        - identity
        - mcp
        - links
        - nextAction
        - activated
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        status:
          type: string
        onboardingState:
          type: string
          enum:
            - funding_required
            - ready
        balance:
          $ref: '#/components/schemas/AgentOwnedBalance'
        connection:
          type: object
          additionalProperties: false
          required:
            - id
            - keyPrefix
            - expiresAt
          properties:
            id:
              type: string
              format: uuid
            keyPrefix:
              type: string
              pattern: ^lcac_
            expiresAt:
              type: string
              format: date-time
            credential:
              type: string
              pattern: ^lcac_
              description: Returned on registration replay and rotation. Store immediately.
        identity:
          type: object
          additionalProperties: false
          required:
            - provider
            - email
          properties:
            provider:
              const: agentid
            email:
              type: string
              format: email
        mcp:
          type: object
          additionalProperties: true
        links:
          type: object
          additionalProperties:
            type: string
            format: uri
        nextAction:
          type: object
          additionalProperties: true
        created:
          type: boolean
        credentialRenewed:
          type: boolean
        credentialRecovered:
          type: boolean
        activated:
          const: true
    AgentOwnedBalance:
      type: object
      additionalProperties: false
      required:
        - usd
        - credits
        - creditsPerDollar
      properties:
        usd:
          $ref: '#/components/schemas/DecimalString'
        credits:
          $ref: '#/components/schemas/DecimalString'
        creditsPerDollar:
          type: string
          pattern: ^\d+$
    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.
  securitySchemes:
    secretKey:
      type: http
      scheme: bearer
      description: Tenant secret key (lcr_…). Server-side only.

````

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