B3

B3OS Workflow API

Workflow-management API for B3OS — create and run multi-step cross-chain automations from triggers, actions, connectors and templates, with outbound webhooks (delivery tracking, replay, retry), API keys, and an x402 payment-required (Compute Unit) surface.

OpenAPI Specification

b3-b3os-workflow-openapi.json Raw ↑
{
  "components": {
    "schemas": {
      "data": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_PaginatedData-github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity_Template"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse": {
        "properties": {
          "code": {
            "type": "integer"
          },
          "details": {
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "message": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/data"
          }
        ],
        "properties": {
          "code": {
            "type": "integer"
          },
          "data": {},
          "message": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_cu.AdjustParams": {
        "properties": {
          "amount": {
            "type": "number"
          },
          "direction": {
            "description": "\"credit\" or \"debit\"",
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": ["amount", "direction", "reason"],
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_cu.DepositParams": {
        "properties": {
          "amount": {
            "type": "number"
          }
        },
        "required": ["amount"],
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_cu.UpdateThresholdParams": {
        "properties": {
          "minThreshold": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_integration.GenericWebhookPayload": {
        "properties": {
          "data": {
            "additionalProperties": {},
            "type": "object"
          },
          "forEachContext": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ForEachContext"
          },
          "nodeId": {
            "description": "For wait resume",
            "type": "string"
          },
          "runId": {
            "description": "For wait resume",
            "type": "string"
          },
          "workflowId": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_integration.IntegrationResult": {
        "properties": {
          "action": {
            "description": "\"triggered\", \"resumed\", \"skipped\"",
            "type": "string"
          },
          "eventId": {
            "description": "Webhook event ID for audit",
            "type": "string"
          },
          "reason": {
            "description": "If skipped, the reason",
            "type": "string"
          },
          "runIds": {
            "description": "Multiple if fan-out (platform) or single (generic)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_wallet.ArchiveWalletResponse": {
        "properties": {
          "archivedWorkflowIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "message": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_workflowtemplate.CreateWorkflowTemplateRequest": {
        "properties": {
          "category": {
            "description": "Deprecated: use Tags instead",
            "type": "string"
          },
          "cooldownMs": {
            "type": "integer"
          },
          "definition": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowDefinition"
          },
          "description": {
            "maxLength": 2000,
            "type": "string"
          },
          "maxRuns": {
            "type": "integer"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "sourceWorkflowId": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "templateProps": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateProp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "uiMetadata": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowUIMetadata"
          },
          "visibility": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateVisibility"
          }
        },
        "required": ["definition", "description", "name", "tags", "visibility"],
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_service_workflowtemplate.UpdateWorkflowTemplateRequest": {
        "properties": {
          "cooldownMs": {
            "type": "integer"
          },
          "definition": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowDefinition"
          },
          "description": {
            "type": "string"
          },
          "maxRuns": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "templateProps": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateProp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "uiMetadata": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowUIMetadata"
          },
          "visibility": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateVisibility"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_types.StorkAvailableAssetsResponse": {
        "properties": {
          "assets": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_types.StorkLatestPricesResponse": {
        "properties": {
          "prices": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "{\"BTCUSD\": \"103594.842425999988\"}",
            "type": "object"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.APIKey": {
        "properties": {
          "createdAt": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "keyPrefix": {
            "type": "string"
          },
          "lastUsedAt": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "revokedAt": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.APIKeyScope"
          },
          "userId": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.APIKeyScope": {
        "enum": ["read", "read-write"],
        "type": "string",
        "x-enum-varnames": ["APIKeyScopeRead", "APIKeyScopeReadWrite"]
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ActionDefinition": {
        "properties": {
          "category": {
            "description": "Action category (e.g., \"Blockchain\", \"Social\")",
            "type": "string"
          },
          "connector": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorRequirement"
          },
          "connectorOutput": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorOutput"
          },
          "createdBy": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "documentationUrl": {
            "type": "string"
          },
          "exampleInput": {
            "description": "Example input for documentation"
          },
          "exampleOutput": {},
          "gasChainId": {
            "description": "Chain ID where gas is needed",
            "type": "integer"
          },
          "logoUrl": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payloadSchema": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OrderedSchema"
          },
          "prerequisites": {
            "description": "Opaque pass-through from b3os-actions",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "requiredTokens": {
            "description": "Opaque pass-through from b3os-actions",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "requiresGas": {
            "description": "Whether action requires gas (blockchain transaction fees)",
            "type": "boolean"
          },
          "resultSchema": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OrderedSchema"
          },
          "tags": {
            "description": "Tags for filtering",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "test": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TestConfig"
          },
          "type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditFinding": {
        "properties": {
          "acknowledged": {
            "type": "boolean"
          },
          "category": {
            "description": "reentrancy, access-control, etc.",
            "type": "string"
          },
          "codeSnippet": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "recommendation": {
            "type": "string"
          },
          "severity": {
            "description": "critical, high, medium, low, info",
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditReport": {
        "properties": {
          "findings": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditFinding"
            },
            "type": "array",
            "uniqueItems": false
          },
          "passes": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "summary": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditSummary"
          },
          "timestamp": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditSummary": {
        "properties": {
          "critical": {
            "type": "integer"
          },
          "high": {
            "type": "integer"
          },
          "info": {
            "type": "integer"
          },
          "low": {
            "type": "integer"
          },
          "medium": {
            "type": "integer"
          },
          "overallRisk": {
            "description": "low, medium, high, critical",
            "type": "string"
          },
          "recommendation": {
            "description": "deployment recommendation",
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUAdjustResult": {
        "properties": {
          "newBalance": {
            "type": "number"
          },
          "oldBalance": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostActionsByCategory": {
        "properties": {
          "builtIn": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "dynamic": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "logic": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostDefaults": {
        "properties": {
          "builtIn": {
            "type": "number"
          },
          "dynamic": {
            "type": "number"
          },
          "logic": {
            "type": "number"
          },
          "trigger": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostItem": {
        "properties": {
          "cost": {
            "type": "number"
          },
          "source": {
            "description": "\"default\" or \"override\"",
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostsResult": {
        "properties": {
          "actions": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostActionsByCategory"
          },
          "defaults": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostDefaults"
          },
          "triggers": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUCostItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUDailyUsage": {
        "properties": {
          "breakdown": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUUsageBreakdown"
            },
            "type": "array",
            "uniqueItems": false
          },
          "date": {
            "type": "string"
          },
          "used": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUDepositResult": {
        "properties": {
          "newBalance": {
            "type": "number"
          },
          "oldBalance": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUGetBalanceResult": {
        "properties": {
          "balance": {
            "type": "number"
          },
          "minThreshold": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUUpdateThresholdResult": {
        "properties": {
          "newThreshold": {
            "type": "number"
          },
          "oldThreshold": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUUsageBreakdown": {
        "properties": {
          "count": {
            "type": "integer"
          },
          "cu": {
            "type": "number"
          },
          "nodeType": {
            "type": "string"
          },
          "type": {
            "description": "\"trigger\" or \"action\"",
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUUsageSummary": {
        "properties": {
          "daily": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUDailyUsage"
            },
            "type": "array",
            "uniqueItems": false
          },
          "summary": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUUsageSummaryTotals"
          },
          "yearMonth": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CUUsageSummaryTotals": {
        "properties": {
          "deposited": {
            "type": "number"
          },
          "granted": {
            "type": "number"
          },
          "used": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ChatMessage": {
        "properties": {
          "content": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "imageUrls": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "organizationId": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "tokensUsed": {
            "type": "integer"
          },
          "workflowId": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Comment": {
        "properties": {
          "createdAt": {
            "type": "string"
          },
          "createdBy": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteUser"
          },
          "id": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "position": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.NodePosition"
          },
          "replies": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CommentReply"
            },
            "type": "array",
            "uniqueItems": false
          },
          "resolved": {
            "type": "boolean"
          },
          "text": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CommentReply": {
        "properties": {
          "createdAt": {
            "type": "string"
          },
          "createdBy": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteUser"
          },
          "id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Connector": {
        "properties": {
          "createdAt": {
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "maskedData": {
            "additionalProperties": {},
            "description": "Computed field, not persisted",
            "type": "object"
          },
          "name": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorDefinition": {
        "properties": {
          "categories": {
            "description": "Deprecated: use Tags instead",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "dataSchema": {
            "additionalProperties": {},
            "type": "object"
          },
          "description": {
            "type": "string"
          },
          "informationUrl": {
            "type": "string"
          },
          "logoDomain": {
            "description": "Domain for logo.dev (e.g., \"slack.com\")",
            "type": "string"
          },
          "logoUrl": {
            "description": "Computed at runtime from LogoDomain",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "optional": {
            "description": "Optional indicates if the connector can be omitted when required by an action.\nIf true, workflow nodes can have a null connector and the action will execute\nwithout connector data (b3os-actions handles fallback if needed).",
            "type": "boolean"
          },
          "provider": {
            "description": "Provider indicates the underlying provider for this connector.\nFor Pipedream connectors, this is \"pipedream\".",
            "type": "string"
          },
          "providerConfig": {
            "additionalProperties": {},
            "description": "ProviderConfig contains provider-specific configuration.\nFor Pipedream connectors, this includes appSlug, authPropName, authType.",
            "type": "object"
          },
          "setupGuide": {
            "description": "SetupGuide contains markdown instructions for setting up the connector.",
            "type": "string"
          },
          "tags": {
            "description": "Tags for filtering and categorization",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorOutput": {
        "description": "Auto-save result as connector",
        "properties": {
          "fieldMapping": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "resultField \u2192 connectorDataField",
            "type": "object"
          },
          "nameTemplate": {
            "description": "Display name with {{field}} interpolation (uses result field names, i.e. left side of FieldMapping)",
            "type": "string"
          },
          "type": {
            "description": "Connector type (e.g., \"railgun\")",
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorReference": {
        "description": "nil if action doesn't need connector",
        "properties": {
          "id": {
            "description": "Connector ID (or subOrgId for turnkey)",
            "type": "string"
          },
          "type": {
            "description": "Connector type (e.g., \"slack\", \"turnkey\")",
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorRequirement": {
        "description": "nil means no connector required",
        "properties": {
          "type": {
            "description": "Required connector type (e.g., \"slack\")",
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractPlanSummary": {
        "properties": {
          "description": {
            "type": "string"
          },
          "features": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "gasOptimizations": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "name": {
            "type": "string"
          },
          "securityConsiderations": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractProject": {
        "properties": {
          "allDeployments": {
            "items": {
              "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.DeployResult"
            },
            "type": "array",
            "uniqueItems": false
          },
          "auditReport": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditReport"
          },
          "autoFixAttempts": {
            "type": "integer"
          },
          "compilationFixAttempts": {
            "type": "integer"
          },
          "createdAt": {
            "type": "string"
          },
          "currentStep": {
            "type": "integer"
          },
          "deployments": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Deployments"
          },
          "externalContractId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "planSummary": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractSource"
          },
          "status": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractProjectStatus"
          },
          "testResults": {
            "$ref": "#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TestResults"
          },
          "updatedAt": {
            "type": "string"
          },
          "walletId": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractProjectStatus": {
        "enum": [
          "planned",
          "generating",
          "code_generated",
          "testing",
          "tested",
          "auditing",
          "audited",
          "deploying",
          "testnet_deployed",
          "mainnet_deployed",
          "failed"
        ],
        "type": "string",
        "x-enum-comments": {
          "ContractStatusAuditing": "Intermediate status during security audit",
          "ContractStatusDeploying": "Intermediate status during deployment",
          "ContractStatusGenerating": "Intermediate status during code generation",
          "ContractStatusTesting": "Intermediate status during test execution"
        },
        "x-enum-varnames": [
          "ContractStatusPlanned",
          "ContractStatusGenerating",
          "ContractStatusCodeGenerated",
          "ContractStatusTesting",
          "ContractStatusTested",
          "ContractStatusAuditing",
          "ContractStatusAudited",
          "ContractStatusDeploying",
          "ContractStatusTestnetDeployed",
          "ContractStatusMainnetDeployed",
          "ContractStatusFailed"
        ]
      },
      "github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractSource": {
        "properties": {
          "abi": {
            "description": "Compiled artifacts (populated after compilation)",
            "type": "string"
          },
          "bytecode": {
            "description": "Deployment bytecode",
            "type": "string"
          },
          "compilerOutput": {
            "description": "Metadata",
            "type": "string"
          },
          "constructorAbi": {
            "description": "Constructor info",
            "type": "string"
          },
          "contractCode": {
            "description": "Main contract Solidity source (flattened or with imports)",
            "type": "string"
          },
          "contractName": {
            "description": "Main contract (required)",
            "type": "string"
          },
          "dependencies": {
            "add

# --- truncated at 32 KB (559 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/b3/refs/heads/main/openapi/b3-b3os-workflow-openapi.json