# Create a new omnibus structure within a domain

Endpoint: POST /v1/domains/{domainId}/omnibus

## Path parameters:

  - `domainId` (string, required)

## Request fields (application/json):

  - `alias` (string, required)
    Alias for the omnibus account

  - `vaultId` (string, required)
    Identifier of the vault where the omnibus account keys will be stored

  - `keyStrategy` (string, required)
    Enum: "VaultHard", "VaultSoft", "Random"

  - `lockStatus` (string)
    Enum: "Unlocked", "Locked"

  - `ledgerIds` (array)
    List of ledger IDs to activate on the omnibus account. If omitted, all enabled ledgers compatible with the vault and key strategy are activated automatically.

  - `description` (string)
    Optional description for the omnibus account

  - `customProperties` (object)
    Custom key-value properties for the omnibus account

  - `ignoredAccountIds` (array)
    List of custody account IDs to ignore during event processing (e.g., Gas Station account)

  - `sponsoringGasStationId` (string)
    Entity ID of the Gas Station account that will sponsor fees for this omnibus account.

## Response 201 fields (application/json):

  - `omnibus` (object, required)

  - `omnibus.id` (string, required)
    Unique identifier of the omnibus structure

  - `omnibus.domainId` (string, required)
    Identifier of the domain this omnibus structure belongs to

  - `omnibus.custodyAccountId` (string, required)
    Identifier of the custody account backing this omnibus structure

  - `omnibus.alias` (string, required)
    Alias of the omnibus structure

  - `omnibus.status` (string, required)
    Enum: "CREATING", "PENDING_SPONSORSHIP", "ACTIVE", "FAILED"

  - `omnibus.lockStatus` (string, required)
    Enum: "UNLOCKED", "LOCKED"

  - `omnibus.ignoredAccountIds` (array, required)
    List of custody account IDs to ignore during event processing

  - `omnibus.createdAt` (string, required)
    Timestamp when the omnibus structure was created

  - `omnibus.updatedAt` (string, required)
    Timestamp when the omnibus structure was last updated

  - `omnibus.sponsoringGasStationId` (string)
    Entity ID of the Gas Station account that sponsors fees for this omnibus account

  - `omnibus.balances` (array)
    Balances of the host tenant per ticker/ledger combination

  - `omnibus.balances.tickerId` (string, required)
    Ticker identifier

  - `omnibus.balances.ledgerId` (string, required)
    Ledger identifier

  - `omnibus.balances.reserved` (string, required)
    Reserved amount

  - `omnibus.balances.quarantined` (string, required)
    Quarantined amount

  - `omnibus.balances.availableBalance` (string)
    Available balance from accounting service; absent if the accounting service is unavailable

  - `unsignedIntent` (object, required)
    Complete Propose object ready to be signed and submitted to Custody via POST /v1/intents. The frontend signs this object and sends it as the "request" field in ProposeIntentBody.

  - `unsignedIntent.type` (string, required)
    Intent type, always "Propose"
    Enum: "Propose"

  - `unsignedIntent.id` (string, required)
    Unique identifier for the intent

  - `unsignedIntent.author` (object, required)
    The user proposing the intent

  - `unsignedIntent.author.domainId` (string, required)

  - `unsignedIntent.author.id` (string, required)

  - `unsignedIntent.expiryAt` (string, required)
    Expiry time for the intent

  - `unsignedIntent.targetDomainId` (string, required)
    Domain where the intent will be executed

  - `unsignedIntent.payload` (any, required)
    The intent payload

  - `unsignedIntent.description` (string)
    Description of the intent

  - `unsignedIntent.customProperties` (object, required)
    Intent-level custom properties


