home / docs / sections

sections: json_api:tableinsertview

This data as json

id page ref title content breadcrumbs references
json_api:tableinsertview json_api tableinsertview Inserting rows This requires the insert-row permission. A single row can be inserted using the "row" key: POST /<database>/<table>/-/insert Content-Type: application/json Authorization: Bearer dstok_<rest-of-token> { "row": { "column1": "value1", "column2": "value2" } } If successful, this will return a 201 status code and the newly inserted row, for example: { "rows": [ { "id": 1, "column1": "value1", "column2": "value2" } ] } To insert multiple rows at a time, use the same API method but send a list of dictionaries as the "rows" key: POST /<database>/<table>/-/insert Content-Type: application/json Authorization: Bearer dstok_<rest-of-token> { "rows": [ { "column1": "value1", "column2": "value2" }, { "column1": "value3", "column2": "value4" } ] } If successful, this will return a 201 status code and a {"ok": true} response body. The maximum number rows that can be submitted at once defaults to 100, but this can be changed using the max_insert_rows setting. To return the newly inserted rows, add the "return": true key to the request body: { "rows": [ { "column1": "value1", "column2": "value2" }, { "column1": "value3", "column2": "value4" } ], "return": true } This will return the same "rows" key as the single row example above. There is a small performance penalty for using this option. If any of your rows have a primary key that is already in use, you will get an error and none of the rows will be inserted: { "ok": false, "errors": [ "UNIQUE constraint failed: new_table.id" ] } Pass "ignore": true to ignore these errors and insert the other rows: { "rows": [ { "id": 1, "column1": "value1", "column2": "value2" }, { "id": 2, "column1": "value3", "column2": "value4" } ], "ignore": true } Or you can pass "replace": true to replace any rows with conflicting primary keys with the new values. This requires the update-row permission. Pass "alter: true to automatically add any missing columns to the table. This requires the alter-table permission. ["JSON API", "The JSON write API"] []
Powered by Datasette · Queries took 1.361ms