---
title: "Start a benefit-configuration extraction"
method: POST
path: "/v1/clients/{clientId}/benefit-configurations"
tags: ["Benefit Configurations"]
---

# Start a benefit-configuration extraction

`POST /v1/clients/{clientId}/benefit-configurations`

## Request

- Base URL: `https://api.pasito.ai`
- URL: `https://api.pasito.ai/v1/clients/{clientId}/benefit-configurations`
- Auth: HTTP bearer

Creates (or reuses) the client's benefit of the given type, records the uploaded documents, and runs AI extraction of the benefit's plans. Poll the returned `configurationId` for status.

## Path parameters

- `clientId` string, required

## Request body

- CreateBenefitConfigurationRequest
  - `benefitType` string, required: The Pasito benefit type to configure (e.g. medical_insurance, dental_insurance, vision_insurance).
  - `benefitName` string: Optional display name; defaults to the benefit type label.
  - `files` FileRef[], required
    - `uploadUrl` string, required: Presigned S3 PUT URL. Upload the file bytes here, then pass this uploadUrl back to the endpoint that consumes it — POST /v1/clients/{clientId}/benefit-configurations or POST /v1/clients/{clientId}/benefit-elections (the ?X-Amz-… query string may be included or stripped).
  - `contentToExtract` string[]: What to extract from the documents. Defaults to both description and insurancePlans.

## Response `201`

Default Response

- object
  - `configurationId` string, required: The extraction run id — poll it for status.
  - `benefitId` string, required: The client CompanyBenefit the extraction writes into.

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `404`: Default Response
- `429`: Default Response

---

[API](https://skmtc.dev/pasito/apis/pasito-external-api.md) - [All operations](https://skmtc.dev/pasito/apis/pasito-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pasito/apis/pasito-external-api/revisions/d206e98c9d61?raw)
