---
title: "Append rows to a draft job (a list uploaded in parts)"
method: POST
path: "/v1/jobs/{id}/rows"
---

# Append rows to a draft job (a list uploaded in parts)

`POST /v1/jobs/{id}/rows`

## Request

- Base URL: `https://api.grundfast.dk`
- URL: `https://api.grundfast.dk/v1/jobs/{id}/rows`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `gf_session`

Same bodies as POST /v1/jobs, rows only (`{ rows }`, a file, or a CSV/NDJSON body). Only a draft (`start: false`) takes rows; 409 otherwise. Rows per job follow the plan: 250 on Free, 10000 on Starter, 100000 on Pro, 500000 on Scale, 1000000 on Enterprise (402 over). One upload is at most 10 MB; upload a longer list in parts.

## Path parameters

- `id` string, required

## Request body

- AppendJobRowsInput
  - `rows` object[], required

## Response `200`

Rows appended

- JobResponse
  - `job` object, required: An asynchronous job over a list. Poll it; download results and errors as files.
    - `id` string, required: job_…
    - `kind` 'datavask' | 'reverse' | 'bbr' | 'dagi' | 'miljoe', required
    - `status` 'draft' | 'queued' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled', required
    - `label` string, nullable, required
    - `totalRows` number, required
    - `processedRows` number, required: Rows with an answer or an error on file.
    - `succeeded` number, required
    - `failed` number, required
    - `billedUnits` number, required: Successful rows billed (0 for a test key).
    - `progress` number, required: processedRows / totalRows, 0..1.
    - `columns` object, required: Role → your column name (adresse, vej, husnr, postnr, by, x, y, bfe, adgangsadresse_id).
    - `srid` union, required
      - 4326
      - 25832
    - `inputColumns` string[], required
    - `error` string, nullable, required
    - `createdAt` string, required
    - `startedAt` string, nullable, required
    - `completedAt` string, nullable, required
    - `updatedAt` string, required
    - `resultsAvailable` boolean, required: False once the rows are deleted (JOB_RESULT_RETENTION_DAYS after the job ends).

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `404`: Error
- `409`: Error
- `413`: Error
- `429`: Error

---

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