## Upsert Vectors `client.vectorize.indexes.upsert(stringindexName, IndexUpsertParamsparams, RequestOptionsoptions?): IndexUpsertResponse | null` **post** `/accounts/{account_id}/vectorize/v2/indexes/{index_name}/upsert` Upserts vectors into the specified index, creating them if they do not exist and returns a mutation id corresponding to the vectors enqueued for upsertion. ### Parameters - `indexName: string` - `params: IndexUpsertParams` - `account_id: string` Path param: Identifier - `body: Uploadable` Body param: ndjson file containing vectors to upsert. - `unparsableBehavior?: "error" | "discard"` Query param: Behavior for ndjson parse failures. - `"error"` - `"discard"` ### Returns - `IndexUpsertResponse` - `mutationId?: string` The unique identifier for the async mutation operation containing the changeset. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.vectorize.indexes.upsert('example-index', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', body: fs.createReadStream('path/to/file'), }); console.log(response.mutationId); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "mutationId": "0000aaaa-11bb-22cc-33dd-444444eeeeee" }, "success": true } ```