# Accept autofill suggestion

`POST /client-intake-application-autofill-runs/{run_id}/suggestions/{suggestion_id}/accept/`

Review one pending suggestion's proposed value, evidence, and concerns. Read the current answers, then POST to the Run's suggestions_url plus {suggestion_id}/accept/ with no request body, the answer ETag in If-Match, and a unique Idempotency-Key. Levr checks the answer revision and target drift, applies the proposal, and records acceptance in one transaction. A 412 means the answers changed; reread and review before issuing a new command. A 409 suggestion_conflict means the suggestion is stale, superseded, or already resolved; refresh suggestions and review again. An identical retry must reuse the original precondition and key. Check the returned suggestion is accepted and verify the intended value through the answers read. Use the returned ETag for the next answer mutation. Do not copy proposal metadata into an answer-update request to accept a suggestion.

Base URL: https://api.levr.ai/v1

Authentication: Bearer — Portal API key

[REST guide](https://docs.levr.ai/rest-api.md) · [OpenAPI specification](https://docs.levr.ai/generated/openapi.json)

## Parameters

### run_id (path)

Type: string. Required: yes.

Schema:



```json
{
  "pattern": "^afrun_[a-z0-9]+$",
  "type": "string"
}
```

### suggestion_id (path)

Type: string. Required: yes.

Schema:



```json
{
  "pattern": "^afsug_[a-z0-9]+$",
  "type": "string"
}
```

### Idempotency-Key (header)

Type: string. Required: yes.

Schema:



```json
{
  "maxLength": 255,
  "minLength": 1,
  "type": "string"
}
```

### If-Match (header)

Type: string. Required: yes.

The ETag returned by the current answers read.

Schema:



```json
{
  "pattern": "^\"?[0-9]+\"?$",
  "type": "string"
}
```

## Example request

```sh
curl --request POST \
  --url "https://api.levr.ai/v1/client-intake-application-autofill-runs/$RUN_ID/suggestions/$SUGGESTION_ID/accept/" \
  --header "Authorization: Bearer $LEVR_API_KEY" \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --header "If-Match: $IF_MATCH"
```

## Responses

### 200

The suggestion was accepted, or an identical request was replayed.

#### Response headers



```json
{
  "ETag": {
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "answers_revision": {
      "description": "Use this revision for the next application-answer write.",
      "minimum": 0,
      "type": "integer"
    },
    "suggestion": {
      "additionalProperties": false,
      "properties": {
        "concerns": {
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "current_value": {},
        "display_order": {
          "type": "integer"
        },
        "field_label": {
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "pattern": "^afsug_[a-z0-9]+$",
          "type": "string"
        },
        "object": {
          "const": "client_intake_application_autofill_suggestion",
          "type": "string"
        },
        "proposed_value": {},
        "question_label": {
          "type": [
            "string",
            "null"
          ]
        },
        "run": {
          "type": "object"
        },
        "section_label": {
          "type": [
            "string",
            "null"
          ]
        },
        "source": {
          "type": "object"
        },
        "status": {
          "enum": [
            "pending",
            "accepted",
            "dismissed",
            "stale",
            "failed"
          ],
          "type": "string"
        },
        "suggestion_kind": {
          "type": "string"
        },
        "target_attribute": {
          "type": "string"
        },
        "target_scope": {
          "type": [
            "string",
            "null"
          ]
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "id",
        "object",
        "run",
        "status",
        "section_label",
        "question_label",
        "field_label",
        "display_order",
        "suggestion_kind",
        "target_attribute",
        "target_scope",
        "current_value",
        "proposed_value",
        "source",
        "concerns",
        "created_at",
        "updated_at"
      ],
      "type": "object"
    }
  },
  "required": [
    "suggestion",
    "answers_revision"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "answers_revision": 3,
  "suggestion": {
    "concerns": [
      {}
    ],
    "created_at": "2026-09-02T16:42:13Z",
    "current_value": "250000",
    "display_order": 1,
    "field_label": "Legal name",
    "id": "afsug_2m8q7c9k4x6p3n5d",
    "object": "client_intake_application_autofill_suggestion",
    "proposed_value": "500000",
    "question_label": "Funding request",
    "run": {},
    "section_label": "Company information",
    "source": {},
    "status": "pending",
    "suggestion_kind": "set_single_value",
    "target_attribute": "request.amount",
    "target_scope": "funding_request",
    "updated_at": "2026-09-02T16:42:13Z"
  }
}
```

### 400

Correct the request fields and try again.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "invalid_request",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "Correct the request fields and try again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "invalid_request_error"
  }
}
```

### 401

Provide a valid API key and try again.

#### Response headers



```json
{
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "invalid_api_key",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "Provide a valid API key and try again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "authentication_error"
  }
}
```

### 403

This API key does not allow the requested action.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "permission_denied",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "This API key does not allow this action.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "permission_error"
  }
}
```

### 404

The requested resource was not found or is not available to this API key.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "not_found",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "The requested resource was not found.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "invalid_request_error"
  }
}
```

### 409

The request conflicts with the resource's current state. Refresh it before trying again.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "conflict",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "The request conflicts with the current resource state.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "conflict_error"
  }
}
```

### 412

The request was not completed.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "precondition_failed",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "Refresh the resource and try again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "invalid_request_error"
  }
}
```

### 429

Too many requests were sent. Wait before trying again.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  },
  "Retry-After": {
    "description": "Minimum seconds to wait before retrying.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "rate_limited",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "Wait before sending another request.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "rate_limit_error"
  }
}
```

### 500

Levr could not complete the request. Keep the request ID and retry when safe.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "internal_error",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/accept-client-intake-autofill-suggestion/",
    "message": "Retry the request, then contact support if it fails again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "api_error"
  }
}
```
