Initializing Operalta...

Pipeline & CRM

Deals, accounts, contacts, sequences, and firm enrichment.

GET
/api/contacts

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

owner_type*string

Owner scope. Bearer callers should use company.

Value in"company" | "network"
owner_id*string

Company UUID or network UUID matching owner_type.

Formatuuid
q?string

Optional full-text search query.

limit?integer
Default50
Range1 <= value <= 100
offset?integer
Default0
Range0 <= value

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/contacts?owner_type=company&owner_id=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "contacts": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "personId": "f3e5ff26-28ff-4cd6-9b1b-e303a185a13a",
      "email": "string",
      "name": "string",
      "phone": "string",
      "linkedinUrl": "string",
      "avatarUrl": "string",
      "profileId": "string",
      "source": "string",
      "tags": [
        "string"
      ],
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "lastInteractionAt": "2019-08-24T14:15:22Z",
      "companyRoles": [
        {
          "companyName": "string",
          "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
          "role": "string",
          "contextType": "string",
          "vertical": "string",
          "stage": "string"
        }
      ],
      "companyName": "string",
      "companyDomain": "string",
      "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
      "enriched": true,
      "investorType": "string",
      "expertise": [
        "string"
      ],
      "location": "string",
      "networkId": "9cffe777-e105-4870-8eb8-2f3ee9883664",
      "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
      "checkSizeMin": 0,
      "checkSizeMax": 0,
      "checkSizeSweetSpot": 0,
      "enrichmentData": {},
      "enrichedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0,
  "hasMore": true
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/contacts

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/contacts" \  -H "Content-Type: application/json" \  -d '{    "owner_type": "company",    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05"  }'
{
  "contact": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "personId": "f3e5ff26-28ff-4cd6-9b1b-e303a185a13a",
    "email": "string",
    "name": "string",
    "phone": "string",
    "linkedinUrl": "string",
    "avatarUrl": "string",
    "profileId": "string",
    "source": "string",
    "tags": [
      "string"
    ],
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "lastInteractionAt": "2019-08-24T14:15:22Z",
    "companyRoles": [
      {
        "companyName": "string",
        "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
        "role": "string",
        "contextType": "string",
        "vertical": "string",
        "stage": "string"
      }
    ],
    "companyName": "string",
    "companyDomain": "string",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "enriched": true,
    "investorType": "string",
    "expertise": [
      "string"
    ],
    "location": "string",
    "networkId": "9cffe777-e105-4870-8eb8-2f3ee9883664",
    "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
    "checkSizeMin": 0,
    "checkSizeMax": 0,
    "checkSizeSweetSpot": 0,
    "enrichmentData": {},
    "enrichedAt": "2019-08-24T14:15:22Z"
  },
  "existed": true
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/enrichment/firm

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/enrichment/firm" \  -H "Content-Type: application/json" \  -d '{    "url": "string"  }'
{
  "success": true,
  "firmId": "66a846d3-f0e8-478f-bce7-9edc75106b0d",
  "domain": "string",
  "normalizedUrl": "string",
  "level": "basic",
  "enrichmentData": {},
  "contextMarkdown": "string",
  "metadata": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
GET
/api/portfolio/pipeline

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

investment_stage?string

Filter by stage (research, intro, diligence, term_sheet, closed, passed, portfolio).

investment_decision?string

Filter by decision (undecided, pass, invest, monitor, follow_on).

account_type?string

Filter by account type (startup, lp, advisor).

context_type?string

Filter by context type.

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/portfolio/pipeline"
{
  "companies": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "domain": "string",
      "normalized_domain": "string",
      "lifecycle_state": "string",
      "type": "string",
      "context_type": "string",
      "stage": "string",
      "is_lead": true,
      "is_active": true,
      "investment_stage": "string",
      "investment_decision": "string",
      "investment_rationale": "string",
      "research_notes": "string",
      "research_sources": "string",
      "dd_notes": "string",
      "dd_checklist": "string",
      "deck_url": "string",
      "metrics_url": "string",
      "source": "string",
      "confidence": 0,
      "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
      "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
      "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
      "created_by_profile": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "avatar_url": "string"
      },
      "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
      "owner_profile": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "avatar_url": "string"
      },
      "list_id": "430bbdbc-9d7f-4d06-a273-67ca4ba4ae4b",
      "list_name": "string",
      "firms": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "context_type": "string",
        "enrichment_level": "string",
        "enrichment_data": {},
        "enriched_at": "2019-08-24T14:15:22Z",
        "context_markdown": "string",
        "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
      },
      "operaltaMatch": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "slug": "string",
        "contextType": "string",
        "publicPageEnabled": true,
        "stage": "string",
        "vertical": "string",
        "accessStatus": "member"
      },
      "metric_summary": {
        "property1": 0,
        "property2": 0
      },
      "metric_summary_updated_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "last_seen_at": "2019-08-24T14:15:22Z",
      "sequences": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "sequenceType": "string",
          "stage": "string",
          "stageLabel": "string",
          "status": "string",
          "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
          "startedAt": "2019-08-24T14:15:22Z",
          "completedAt": "2019-08-24T14:15:22Z",
          "notes": "string",
          "templateKey": "string",
          "templateDimension": "string",
          "template": {
            "key": "string",
            "dimension": "string",
            "contextType": "string",
            "vertical": "string",
            "defaultStage": "string",
            "templateFamily": "legacy_pipeline",
            "stages": [
              {
                "key": "string",
                "label": "string",
                "isTerminal": true,
                "control": "light",
                "requiredTaskKeys": [
                  "string"
                ],
                "allowedNextStages": [
                  "string"
                ],
                "guidance": "string"
              }
            ]
          },
          "readiness": {
            "isReady": true,
            "requiredTaskCount": 0,
            "completedTaskCount": 0,
            "incompleteTaskCount": 0,
            "missingTaskKeys": [
              "string"
            ],
            "openTasks": [
              {
                "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                "taskKey": "string",
                "title": "string",
                "status": "string"
              }
            ]
          },
          "pendingStageTransitionApproval": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "requestType": "pipeline_stage_transition",
            "status": "pending",
            "currentStage": "string",
            "targetStage": "string",
            "currentStageControl": "review",
            "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
            "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
            "requesterName": "string",
            "companyName": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "isRequester": true,
            "isApprover": true
          },
          "pendingTypeSwitchApproval": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "requestType": "pipeline_sequence_type_switch",
            "status": "pending",
            "sourceSequenceType": "string",
            "sourceStage": "string",
            "targetSequenceType": "string",
            "targetStage": "string",
            "completeSource": true,
            "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
            "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
            "requesterName": "string",
            "companyName": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "isRequester": true,
            "isApprover": true
          }
        }
      ],
      "owner_actor_type": "string",
      "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
      "owner_agent_id": "string",
      "owner_label": "string"
    }
  ],
  "lists": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "slug": "string",
      "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
      "created_at": "2019-08-24T14:15:22Z"
    }
  ],
  "networkId": "9cffe777-e105-4870-8eb8-2f3ee9883664",
  "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
  "metadata": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "success": true,
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "domain": "string",
    "normalized_domain": "string",
    "lifecycle_state": "string",
    "type": "string",
    "context_type": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "investment_rationale": "string",
    "research_notes": "string",
    "research_sources": "string",
    "dd_notes": "string",
    "dd_checklist": "string",
    "deck_url": "string",
    "metrics_url": "string",
    "source": "string",
    "confidence": 0,
    "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "last_seen_at": "2019-08-24T14:15:22Z",
    "firm": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "context_type": "string",
      "enrichment_level": "string",
      "enrichment_data": {},
      "enriched_at": "2019-08-24T14:15:22Z",
      "context_markdown": "string",
      "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
    },
    "sequences": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "sequenceType": "string",
        "stage": "string",
        "stageLabel": "string",
        "status": "string",
        "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "notes": "string",
        "templateKey": "string",
        "templateDimension": "string",
        "template": {
          "key": "string",
          "dimension": "string",
          "contextType": "string",
          "vertical": "string",
          "defaultStage": "string",
          "templateFamily": "legacy_pipeline",
          "stages": [
            {
              "key": "string",
              "label": "string",
              "isTerminal": true,
              "control": "light",
              "requiredTaskKeys": [
                "string"
              ],
              "allowedNextStages": [
                "string"
              ],
              "guidance": "string"
            }
          ]
        },
        "readiness": {
          "isReady": true,
          "requiredTaskCount": 0,
          "completedTaskCount": 0,
          "incompleteTaskCount": 0,
          "missingTaskKeys": [
            "string"
          ],
          "openTasks": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "taskKey": "string",
              "title": "string",
              "status": "string"
            }
          ]
        },
        "pendingStageTransitionApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_stage_transition",
          "status": "pending",
          "currentStage": "string",
          "targetStage": "string",
          "currentStageControl": "review",
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        },
        "pendingTypeSwitchApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_sequence_type_switch",
          "status": "pending",
          "sourceSequenceType": "string",
          "sourceStage": "string",
          "targetSequenceType": "string",
          "targetStage": "string",
          "completeSource": true,
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        }
      }
    ],
    "owner_actor_type": "string",
    "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
    "owner_agent_id": "string",
    "owner_label": "string"
  },
  "alreadyExists": true,
  "placement": {
    "listId": "9fc6ad7d-902a-4834-b161-a4911b883d44",
    "listName": "string"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
GET
/api/portfolio/pipeline/{id}

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "account": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "domain": "string",
    "normalized_domain": "string",
    "lifecycle_state": "string",
    "type": "string",
    "context_type": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "investment_rationale": "string",
    "research_notes": "string",
    "research_sources": "string",
    "dd_notes": "string",
    "dd_checklist": "string",
    "deck_url": "string",
    "metrics_url": "string",
    "source": "string",
    "confidence": 0,
    "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "last_seen_at": "2019-08-24T14:15:22Z",
    "firm": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "context_type": "string",
      "enrichment_level": "string",
      "enrichment_data": {},
      "enriched_at": "2019-08-24T14:15:22Z",
      "context_markdown": "string",
      "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
    },
    "sequences": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "sequenceType": "string",
        "stage": "string",
        "stageLabel": "string",
        "status": "string",
        "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "notes": "string",
        "templateKey": "string",
        "templateDimension": "string",
        "template": {
          "key": "string",
          "dimension": "string",
          "contextType": "string",
          "vertical": "string",
          "defaultStage": "string",
          "templateFamily": "legacy_pipeline",
          "stages": [
            {
              "key": "string",
              "label": "string",
              "isTerminal": true,
              "control": "light",
              "requiredTaskKeys": [
                "string"
              ],
              "allowedNextStages": [
                "string"
              ],
              "guidance": "string"
            }
          ]
        },
        "readiness": {
          "isReady": true,
          "requiredTaskCount": 0,
          "completedTaskCount": 0,
          "incompleteTaskCount": 0,
          "missingTaskKeys": [
            "string"
          ],
          "openTasks": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "taskKey": "string",
              "title": "string",
              "status": "string"
            }
          ]
        },
        "pendingStageTransitionApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_stage_transition",
          "status": "pending",
          "currentStage": "string",
          "targetStage": "string",
          "currentStageControl": "review",
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        },
        "pendingTypeSwitchApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_sequence_type_switch",
          "status": "pending",
          "sourceSequenceType": "string",
          "sourceStage": "string",
          "targetSequenceType": "string",
          "targetStage": "string",
          "completeSource": true,
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        }
      }
    ],
    "owner_actor_type": "string",
    "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
    "owner_agent_id": "string",
    "owner_label": "string"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
PUT
/api/portfolio/pipeline/{id}

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "success": true,
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "domain": "string",
    "normalized_domain": "string",
    "lifecycle_state": "string",
    "type": "string",
    "context_type": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "investment_rationale": "string",
    "research_notes": "string",
    "research_sources": "string",
    "dd_notes": "string",
    "dd_checklist": "string",
    "deck_url": "string",
    "metrics_url": "string",
    "source": "string",
    "confidence": 0,
    "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "last_seen_at": "2019-08-24T14:15:22Z",
    "firm": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "context_type": "string",
      "enrichment_level": "string",
      "enrichment_data": {},
      "enriched_at": "2019-08-24T14:15:22Z",
      "context_markdown": "string",
      "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
    },
    "sequences": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "sequenceType": "string",
        "stage": "string",
        "stageLabel": "string",
        "status": "string",
        "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "notes": "string",
        "templateKey": "string",
        "templateDimension": "string",
        "template": {
          "key": "string",
          "dimension": "string",
          "contextType": "string",
          "vertical": "string",
          "defaultStage": "string",
          "templateFamily": "legacy_pipeline",
          "stages": [
            {
              "key": "string",
              "label": "string",
              "isTerminal": true,
              "control": "light",
              "requiredTaskKeys": [
                "string"
              ],
              "allowedNextStages": [
                "string"
              ],
              "guidance": "string"
            }
          ]
        },
        "readiness": {
          "isReady": true,
          "requiredTaskCount": 0,
          "completedTaskCount": 0,
          "incompleteTaskCount": 0,
          "missingTaskKeys": [
            "string"
          ],
          "openTasks": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "taskKey": "string",
              "title": "string",
              "status": "string"
            }
          ]
        },
        "pendingStageTransitionApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_stage_transition",
          "status": "pending",
          "currentStage": "string",
          "targetStage": "string",
          "currentStageControl": "review",
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        },
        "pendingTypeSwitchApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_sequence_type_switch",
          "status": "pending",
          "sourceSequenceType": "string",
          "sourceStage": "string",
          "targetSequenceType": "string",
          "targetStage": "string",
          "completeSource": true,
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        }
      }
    ],
    "owner_actor_type": "string",
    "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
    "owner_agent_id": "string",
    "owner_label": "string"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
DELETE
/api/portfolio/pipeline/{id}

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "success": true,
  "archivedId": "68002716-0108-4af2-a23d-d39c8397413f"
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/enrich

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/enrich" \  -H "Content-Type: application/json" \  -d '{    "type": "research"  }'
{
  "success": true,
  "queuedType": "research",
  "queuedPerspectives": [
    "string"
  ]
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
GET
/api/portfolio/pipeline/{id}/metrics

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/metrics"
{
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
  "metricsUrl": "string",
  "timeline": [
    {
      "periodKey": "string",
      "periodType": "month",
      "label": "string",
      "items": [
        {
          "metricId": "string",
          "label": "string",
          "activeObservation": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "metricId": "string",
            "label": "string",
            "value": 0,
            "formattedValue": "string",
            "periodKey": "string",
            "periodType": "month",
            "source": "manual",
            "sourceLabel": "string",
            "status": "pending",
            "origin": "account",
            "confidence": 0,
            "notes": "string",
            "updatedAt": "2019-08-24T14:15:22Z"
          },
          "observations": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "metricId": "string",
              "label": "string",
              "value": 0,
              "formattedValue": "string",
              "periodKey": "string",
              "periodType": "month",
              "source": "manual",
              "sourceLabel": "string",
              "status": "pending",
              "origin": "account",
              "confidence": 0,
              "notes": "string",
              "updatedAt": "2019-08-24T14:15:22Z"
            }
          ],
          "hasMultipleSources": true
        }
      ]
    }
  ]
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/metrics

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/metrics" \  -H "Content-Type: application/json" \  -d '{    "metricId": "string",    "value": 0,    "periodKey": "string",    "periodType": "month"  }'
{
  "success": true,
  "metric": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "metricId": "string",
    "label": "string",
    "value": 0,
    "formattedValue": "string",
    "periodKey": "string",
    "periodType": "month",
    "source": "manual",
    "sourceLabel": "string",
    "status": "pending",
    "origin": "account",
    "confidence": 0,
    "notes": "string",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/promote

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/promote"
{
  "success": true,
  "alreadyPortfolio": true,
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "type": "string",
    "lifecycle_state": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "updated_at": "2019-08-24T14:15:22Z"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/room

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/room"
{
  "roomId": "c3631f02-ff67-42b8-8775-18c47f52a678"
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/sequences

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences" \  -H "Content-Type: application/json" \  -d '{    "sequenceType": "fundraising"  }'
{
  "success": true,
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "domain": "string",
    "normalized_domain": "string",
    "lifecycle_state": "string",
    "type": "string",
    "context_type": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "investment_rationale": "string",
    "research_notes": "string",
    "research_sources": "string",
    "dd_notes": "string",
    "dd_checklist": "string",
    "deck_url": "string",
    "metrics_url": "string",
    "source": "string",
    "confidence": 0,
    "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "last_seen_at": "2019-08-24T14:15:22Z",
    "firm": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "context_type": "string",
      "enrichment_level": "string",
      "enrichment_data": {},
      "enriched_at": "2019-08-24T14:15:22Z",
      "context_markdown": "string",
      "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
    },
    "sequences": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "sequenceType": "string",
        "stage": "string",
        "stageLabel": "string",
        "status": "string",
        "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "notes": "string",
        "templateKey": "string",
        "templateDimension": "string",
        "template": {
          "key": "string",
          "dimension": "string",
          "contextType": "string",
          "vertical": "string",
          "defaultStage": "string",
          "templateFamily": "legacy_pipeline",
          "stages": [
            {
              "key": "string",
              "label": "string",
              "isTerminal": true,
              "control": "light",
              "requiredTaskKeys": [
                "string"
              ],
              "allowedNextStages": [
                "string"
              ],
              "guidance": "string"
            }
          ]
        },
        "readiness": {
          "isReady": true,
          "requiredTaskCount": 0,
          "completedTaskCount": 0,
          "incompleteTaskCount": 0,
          "missingTaskKeys": [
            "string"
          ],
          "openTasks": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "taskKey": "string",
              "title": "string",
              "status": "string"
            }
          ]
        },
        "pendingStageTransitionApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_stage_transition",
          "status": "pending",
          "currentStage": "string",
          "targetStage": "string",
          "currentStageControl": "review",
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        },
        "pendingTypeSwitchApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_sequence_type_switch",
          "status": "pending",
          "sourceSequenceType": "string",
          "sourceStage": "string",
          "targetSequenceType": "string",
          "targetStage": "string",
          "completeSource": true,
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        }
      }
    ],
    "owner_actor_type": "string",
    "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
    "owner_agent_id": "string",
    "owner_label": "string"
  },
  "sequence": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "sequenceType": "string",
    "stage": "string",
    "stageLabel": "string",
    "status": "string",
    "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
    "startedAt": "2019-08-24T14:15:22Z",
    "completedAt": "2019-08-24T14:15:22Z",
    "notes": "string",
    "templateKey": "string",
    "templateDimension": "string",
    "template": {
      "key": "string",
      "dimension": "string",
      "contextType": "string",
      "vertical": "string",
      "defaultStage": "string",
      "templateFamily": "legacy_pipeline",
      "stages": [
        {
          "key": "string",
          "label": "string",
          "isTerminal": true,
          "control": "light",
          "requiredTaskKeys": [
            "string"
          ],
          "allowedNextStages": [
            "string"
          ],
          "guidance": "string"
        }
      ]
    },
    "readiness": {
      "isReady": true,
      "requiredTaskCount": 0,
      "completedTaskCount": 0,
      "incompleteTaskCount": 0,
      "missingTaskKeys": [
        "string"
      ],
      "openTasks": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "taskKey": "string",
          "title": "string",
          "status": "string"
        }
      ]
    },
    "pendingStageTransitionApproval": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "requestType": "pipeline_stage_transition",
      "status": "pending",
      "currentStage": "string",
      "targetStage": "string",
      "currentStageControl": "review",
      "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
      "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
      "requesterName": "string",
      "companyName": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "isRequester": true,
      "isApprover": true
    },
    "pendingTypeSwitchApproval": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "requestType": "pipeline_sequence_type_switch",
      "status": "pending",
      "sourceSequenceType": "string",
      "sourceStage": "string",
      "targetSequenceType": "string",
      "targetStage": "string",
      "completeSource": true,
      "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
      "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
      "requesterName": "string",
      "companyName": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "isRequester": true,
      "isApprover": true
    }
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
PUT
/api/portfolio/pipeline/{id}/sequences/{sequenceId}

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid
sequenceId*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "success": true,
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "domain": "string",
    "normalized_domain": "string",
    "lifecycle_state": "string",
    "type": "string",
    "context_type": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "investment_rationale": "string",
    "research_notes": "string",
    "research_sources": "string",
    "dd_notes": "string",
    "dd_checklist": "string",
    "deck_url": "string",
    "metrics_url": "string",
    "source": "string",
    "confidence": 0,
    "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "last_seen_at": "2019-08-24T14:15:22Z",
    "firm": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "context_type": "string",
      "enrichment_level": "string",
      "enrichment_data": {},
      "enriched_at": "2019-08-24T14:15:22Z",
      "context_markdown": "string",
      "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
    },
    "sequences": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "sequenceType": "string",
        "stage": "string",
        "stageLabel": "string",
        "status": "string",
        "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "notes": "string",
        "templateKey": "string",
        "templateDimension": "string",
        "template": {
          "key": "string",
          "dimension": "string",
          "contextType": "string",
          "vertical": "string",
          "defaultStage": "string",
          "templateFamily": "legacy_pipeline",
          "stages": [
            {
              "key": "string",
              "label": "string",
              "isTerminal": true,
              "control": "light",
              "requiredTaskKeys": [
                "string"
              ],
              "allowedNextStages": [
                "string"
              ],
              "guidance": "string"
            }
          ]
        },
        "readiness": {
          "isReady": true,
          "requiredTaskCount": 0,
          "completedTaskCount": 0,
          "incompleteTaskCount": 0,
          "missingTaskKeys": [
            "string"
          ],
          "openTasks": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "taskKey": "string",
              "title": "string",
              "status": "string"
            }
          ]
        },
        "pendingStageTransitionApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_stage_transition",
          "status": "pending",
          "currentStage": "string",
          "targetStage": "string",
          "currentStageControl": "review",
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        },
        "pendingTypeSwitchApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_sequence_type_switch",
          "status": "pending",
          "sourceSequenceType": "string",
          "sourceStage": "string",
          "targetSequenceType": "string",
          "targetStage": "string",
          "completeSource": true,
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        }
      }
    ],
    "owner_actor_type": "string",
    "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
    "owner_agent_id": "string",
    "owner_label": "string"
  },
  "sequence": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "sequenceType": "string",
    "stage": "string",
    "stageLabel": "string",
    "status": "string",
    "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
    "startedAt": "2019-08-24T14:15:22Z",
    "completedAt": "2019-08-24T14:15:22Z",
    "notes": "string",
    "templateKey": "string",
    "templateDimension": "string",
    "template": {
      "key": "string",
      "dimension": "string",
      "contextType": "string",
      "vertical": "string",
      "defaultStage": "string",
      "templateFamily": "legacy_pipeline",
      "stages": [
        {
          "key": "string",
          "label": "string",
          "isTerminal": true,
          "control": "light",
          "requiredTaskKeys": [
            "string"
          ],
          "allowedNextStages": [
            "string"
          ],
          "guidance": "string"
        }
      ]
    },
    "readiness": {
      "isReady": true,
      "requiredTaskCount": 0,
      "completedTaskCount": 0,
      "incompleteTaskCount": 0,
      "missingTaskKeys": [
        "string"
      ],
      "openTasks": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "taskKey": "string",
          "title": "string",
          "status": "string"
        }
      ]
    },
    "pendingStageTransitionApproval": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "requestType": "pipeline_stage_transition",
      "status": "pending",
      "currentStage": "string",
      "targetStage": "string",
      "currentStageControl": "review",
      "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
      "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
      "requesterName": "string",
      "companyName": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "isRequester": true,
      "isApprover": true
    },
    "pendingTypeSwitchApproval": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "requestType": "pipeline_sequence_type_switch",
      "status": "pending",
      "sourceSequenceType": "string",
      "sourceStage": "string",
      "targetSequenceType": "string",
      "targetStage": "string",
      "completeSource": true,
      "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
      "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
      "requesterName": "string",
      "companyName": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "isRequester": true,
      "isApprover": true
    }
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "code": "sequence_transition_required_tasks_incomplete",
  "currentStage": "string",
  "targetStage": "string",
  "currentStageControl": "light",
  "disposition": "string",
  "openTaskKeys": [
    "string"
  ],
  "openTasks": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "taskKey": "string",
      "title": "string",
      "status": "string"
    }
  ]
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
GET
/api/portfolio/pipeline/{id}/sequences/{sequenceId}/approval-request

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid
sequenceId*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08/approval-request"
{
  "request": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "requestType": "pipeline_stage_transition",
    "status": "pending",
    "currentStage": "string",
    "targetStage": "string",
    "currentStageControl": "review",
    "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
    "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
    "requesterName": "string",
    "companyName": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "isRequester": true,
    "isApprover": true
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/sequences/{sequenceId}/approval-request

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid
sequenceId*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08/approval-request" \  -H "Content-Type: application/json" \  -d '{    "targetStage": "string"  }'
{
  "success": true,
  "request": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "requestType": "pipeline_stage_transition",
    "status": "pending",
    "currentStage": "string",
    "targetStage": "string",
    "currentStageControl": "review",
    "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
    "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
    "requesterName": "string",
    "companyName": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "isRequester": true,
    "isApprover": true
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/sequences/{sequenceId}/switch-type

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid
sequenceId*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08/switch-type" \  -H "Content-Type: application/json" \  -d '{    "targetSequenceType": "fundraising"  }'
{
  "success": true,
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "domain": "string",
    "normalized_domain": "string",
    "lifecycle_state": "string",
    "type": "string",
    "context_type": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "investment_rationale": "string",
    "research_notes": "string",
    "research_sources": "string",
    "dd_notes": "string",
    "dd_checklist": "string",
    "deck_url": "string",
    "metrics_url": "string",
    "source": "string",
    "confidence": 0,
    "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "last_seen_at": "2019-08-24T14:15:22Z",
    "firm": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "context_type": "string",
      "enrichment_level": "string",
      "enrichment_data": {},
      "enriched_at": "2019-08-24T14:15:22Z",
      "context_markdown": "string",
      "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
    },
    "sequences": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "sequenceType": "string",
        "stage": "string",
        "stageLabel": "string",
        "status": "string",
        "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "notes": "string",
        "templateKey": "string",
        "templateDimension": "string",
        "template": {
          "key": "string",
          "dimension": "string",
          "contextType": "string",
          "vertical": "string",
          "defaultStage": "string",
          "templateFamily": "legacy_pipeline",
          "stages": [
            {
              "key": "string",
              "label": "string",
              "isTerminal": true,
              "control": "light",
              "requiredTaskKeys": [
                "string"
              ],
              "allowedNextStages": [
                "string"
              ],
              "guidance": "string"
            }
          ]
        },
        "readiness": {
          "isReady": true,
          "requiredTaskCount": 0,
          "completedTaskCount": 0,
          "incompleteTaskCount": 0,
          "missingTaskKeys": [
            "string"
          ],
          "openTasks": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "taskKey": "string",
              "title": "string",
              "status": "string"
            }
          ]
        },
        "pendingStageTransitionApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_stage_transition",
          "status": "pending",
          "currentStage": "string",
          "targetStage": "string",
          "currentStageControl": "review",
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        },
        "pendingTypeSwitchApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_sequence_type_switch",
          "status": "pending",
          "sourceSequenceType": "string",
          "sourceStage": "string",
          "targetSequenceType": "string",
          "targetStage": "string",
          "completeSource": true,
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        }
      }
    ],
    "owner_actor_type": "string",
    "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
    "owner_agent_id": "string",
    "owner_label": "string"
  },
  "sequence": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "sequenceType": "string",
    "stage": "string",
    "stageLabel": "string",
    "status": "string",
    "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
    "startedAt": "2019-08-24T14:15:22Z",
    "completedAt": "2019-08-24T14:15:22Z",
    "notes": "string",
    "templateKey": "string",
    "templateDimension": "string",
    "template": {
      "key": "string",
      "dimension": "string",
      "contextType": "string",
      "vertical": "string",
      "defaultStage": "string",
      "templateFamily": "legacy_pipeline",
      "stages": [
        {
          "key": "string",
          "label": "string",
          "isTerminal": true,
          "control": "light",
          "requiredTaskKeys": [
            "string"
          ],
          "allowedNextStages": [
            "string"
          ],
          "guidance": "string"
        }
      ]
    },
    "readiness": {
      "isReady": true,
      "requiredTaskCount": 0,
      "completedTaskCount": 0,
      "incompleteTaskCount": 0,
      "missingTaskKeys": [
        "string"
      ],
      "openTasks": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "taskKey": "string",
          "title": "string",
          "status": "string"
        }
      ]
    },
    "pendingStageTransitionApproval": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "requestType": "pipeline_stage_transition",
      "status": "pending",
      "currentStage": "string",
      "targetStage": "string",
      "currentStageControl": "review",
      "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
      "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
      "requesterName": "string",
      "companyName": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "isRequester": true,
      "isApprover": true
    },
    "pendingTypeSwitchApproval": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "requestType": "pipeline_sequence_type_switch",
      "status": "pending",
      "sourceSequenceType": "string",
      "sourceStage": "string",
      "targetSequenceType": "string",
      "targetStage": "string",
      "completeSource": true,
      "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
      "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
      "requesterName": "string",
      "companyName": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "isRequester": true,
      "isApprover": true
    }
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "code": "sequence_type_switch_approval_required"
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
GET
/api/portfolio/pipeline/{id}/sequences/{sequenceId}/switch-type/approval-request

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid
sequenceId*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08/switch-type/approval-request"
{
  "request": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "requestType": "pipeline_sequence_type_switch",
    "status": "pending",
    "sourceSequenceType": "string",
    "sourceStage": "string",
    "targetSequenceType": "string",
    "targetStage": "string",
    "completeSource": true,
    "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
    "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
    "requesterName": "string",
    "companyName": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "isRequester": true,
    "isApprover": true
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/sequences/{sequenceId}/switch-type/approval-request

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid
sequenceId*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08/switch-type/approval-request" \  -H "Content-Type: application/json" \  -d '{    "targetSequenceType": "fundraising"  }'
{
  "success": true,
  "request": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "requestType": "pipeline_sequence_type_switch",
    "status": "pending",
    "sourceSequenceType": "string",
    "sourceStage": "string",
    "targetSequenceType": "string",
    "targetStage": "string",
    "completeSource": true,
    "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
    "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
    "requesterName": "string",
    "companyName": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "isRequester": true,
    "isApprover": true
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
PATCH
/api/portfolio/pipeline/{id}/sequences/{sequenceId}/tasks

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid
sequenceId*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08/tasks" \  -H "Content-Type: application/json" \  -d '{    "status": "backlog"  }'
{
  "success": true,
  "task": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "taskKey": "string",
    "title": "string",
    "status": "string"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/{id}/upload

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

id*string
Formatuuid

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/497f6eca-6276-4993-bfeb-53cbbbba6f08/upload" \  -H "Content-Type: application/json" \  -d '{    "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",    "type": "deck"  }'
{
  "success": true,
  "url": "string",
  "type": "deck",
  "metricsImportQueued": true
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/enrich-from-url

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/enrich-from-url" \  -H "Content-Type: application/json" \  -d '{    "url": "string"  }'
{
  "success": true,
  "source": "firm_cache",
  "normalizedUrl": "string",
  "domain": "string",
  "suggestedName": "string",
  "suggestedContextType": "startup",
  "description": "string",
  "keyFacts": [
    "string"
  ],
  "executionTimeMs": 0
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
GET
/api/portfolio/pipeline/existing

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"
search?string

Optional account name/domain search term.

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/portfolio/pipeline/existing"
{
  "accounts": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "domain": "string",
      "type": "string",
      "contextType": "startup",
      "lifecycleState": "string",
      "firmName": "string"
    }
  ],
  "count": 0,
  "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
  "networkId": "9cffe777-e105-4870-8eb8-2f3ee9883664",
  "scope": "company"
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/existing

Authorization

AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/existing" \  -H "Content-Type: application/json" \  -d '{    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",    "investmentStage": "research"  }'
{
  "success": true,
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "domain": "string",
    "normalized_domain": "string",
    "lifecycle_state": "string",
    "type": "string",
    "context_type": "string",
    "investment_stage": "string",
    "investment_decision": "string",
    "investment_rationale": "string",
    "research_notes": "string",
    "research_sources": "string",
    "dd_notes": "string",
    "dd_checklist": "string",
    "deck_url": "string",
    "metrics_url": "string",
    "source": "string",
    "confidence": 0,
    "firm_id": "f656a18b-6bf4-4f85-ba17-b3333b7d9949",
    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "last_seen_at": "2019-08-24T14:15:22Z",
    "firm": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "context_type": "string",
      "enrichment_level": "string",
      "enrichment_data": {},
      "enriched_at": "2019-08-24T14:15:22Z",
      "context_markdown": "string",
      "linked_company_id": "2d8bb561-3a76-4962-b145-2a490757af5f"
    },
    "sequences": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "sequenceType": "string",
        "stage": "string",
        "stageLabel": "string",
        "status": "string",
        "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "notes": "string",
        "templateKey": "string",
        "templateDimension": "string",
        "template": {
          "key": "string",
          "dimension": "string",
          "contextType": "string",
          "vertical": "string",
          "defaultStage": "string",
          "templateFamily": "legacy_pipeline",
          "stages": [
            {
              "key": "string",
              "label": "string",
              "isTerminal": true,
              "control": "light",
              "requiredTaskKeys": [
                "string"
              ],
              "allowedNextStages": [
                "string"
              ],
              "guidance": "string"
            }
          ]
        },
        "readiness": {
          "isReady": true,
          "requiredTaskCount": 0,
          "completedTaskCount": 0,
          "incompleteTaskCount": 0,
          "missingTaskKeys": [
            "string"
          ],
          "openTasks": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "taskKey": "string",
              "title": "string",
              "status": "string"
            }
          ]
        },
        "pendingStageTransitionApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_stage_transition",
          "status": "pending",
          "currentStage": "string",
          "targetStage": "string",
          "currentStageControl": "review",
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        },
        "pendingTypeSwitchApproval": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "requestType": "pipeline_sequence_type_switch",
          "status": "pending",
          "sourceSequenceType": "string",
          "sourceStage": "string",
          "targetSequenceType": "string",
          "targetStage": "string",
          "completeSource": true,
          "requesterId": "ba828041-f5bf-46f6-bf7c-22eccb01f2a4",
          "approverId": "c4cb1502-f1f4-43be-8940-63247031d1fd",
          "requesterName": "string",
          "companyName": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "isRequester": true,
          "isApprover": true
        }
      }
    ],
    "owner_actor_type": "string",
    "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
    "owner_agent_id": "string",
    "owner_label": "string"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
GET
/api/portfolio/pipeline/lists

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/portfolio/pipeline/lists"
{
  "lists": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "slug": "string",
      "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
      "created_at": "2019-08-24T14:15:22Z"
    }
  ],
  "communicationLane": {
    "type": "network",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "surfaceLabel": "string",
    "surfaceLabelPlural": "string",
    "description": "string"
  },
  "communicationLanes": [
    {
      "type": "network",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "surfaceLabel": "string",
      "surfaceLabelPlural": "string",
      "description": "string"
    }
  ]
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
POST
/api/portfolio/pipeline/lists

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

companyId?string

Company UUID for company-scoped pipeline access. Required for Bearer tokens unless the token is company-bound.

Formatuuid
networkId?string

Optional legacy vc_portfolio network lane UUID for browser/session callers.

Formatuuid
listId?string

Optional pipeline list rail UUID. When present, reads and writes are scoped to that rail.

Formatuuid
c?string

Optional company slug used by browser/session callers to resolve company scope.

scope?string

Pipeline authority scope. Company scope is the default and the only Bearer-token mode.

Default"company"
Value in"company" | "network"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/portfolio/pipeline/lists" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "list": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "slug": "string",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "created_at": "2019-08-24T14:15:22Z"
  }
}
{
  "error": "string",
  "status": 0,
  "details": {}
}
{
  "error": "string",
  "status": 0,
  "details": {}
}