Portfolio Relationships

Upsert an array of partner-managed-account relationships

Upserts an array of relationships in one request. Best-effort: valid rows commit independently; a bad row returns an error code without blocking the others in the same batch. Each result carries the index of its row. The same customer appearing twice in one batch fails both rows with duplicate_customer_in_batch. Requires portfolio_write permission.

post/portfolio_relationships/batch

Request

  • Base URL: https://api.lassotech.com/api/v1/rest
  • URL: https://api.lassotech.com/api/v1/rest/portfolio_relationships/batch
  • Auth: API key in header x-lasso-access-token

Request body

idempotency_keystring

Replaying the same key within 24 hours returns the original response without processing the batch again. Only a batch in which at least one row succeeded is remembered, so a batch that failed entirely can be fixed and resent under the same key.

as_ofstring date-time

Batch-level default for any metric that doesn't specify its own as_of. An invalid value fails the whole request with 422.

Example request

{
  "relationships": [
    {
      "partner": {
        "lasso_partner_key": "P-A1B2C3"
      },
      "customer": {
        "lasso_customer_key": "CUST_7Q2M4X",
        "crm_account_id": "0014S000009mh2FQAQ",
        "external_id": "225070",
        "domain": "customer.example.com",
        "name": "Example Customer"
      },
      "engagement_type": "ongoing_retainer",
      "metrics": [
        {
          "key": "mrr",
          "value": 4820400,
          "currency": "USD"
        }
      ]
    }
  ],
  "idempotency_key": "portfolio-sync-2026-07-06-run-1"
}

Response

Batch processed (see per-row results for individual outcomes)

processedinteger
succeededinteger
failedinteger

Example response

{
  "results": [
    {
      "customer_id": "CUST_7Q2M4X"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.