[API reference](https://evolu.dev/docs/api-reference) › [@evolu/sqlite-wasm](https://evolu.dev/docs/api-reference/sqlite-wasm) › [c-api](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api) › sqlite3\_backup\_finish

```ts
function sqlite3_backup_finish(
  deps: SqliteWasmDep,
): (p: SqliteBackupPtr) => SqliteResultCode;
```

Defined in: [packages/sqlite-wasm/src/CApi.ts:1598](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/CApi.ts#L1598)

Releases the backup, rolling back an unfinished copy, and returns the result
of the most recent [sqlite3\_backup\_step](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api/functions/sqlite3_backup_step) if that failed, SQLITE_BUSY and
SQLITE_LOCKED included, otherwise SQLITE_OK. Every backup
[sqlite3\_backup\_init](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api/functions/sqlite3_backup_init) returned needs it, also after an error.

Wasm type `i(i)`. Signature `["sqlite3_backup_finish", "int",
"sqlite3_backup*"]` from SQLite's table.

See https://sqlite.org/c3ref/backup_finish.html.