{"ok": true, "next": null, "rows": [{"id": "json_api:tablecreateview-example", "page": "json_api", "ref": "tablecreateview-example", "title": "Creating a table from example data", "content": "Instead of specifying  columns  directly you can instead pass a single example  row  or a list of  rows .\n                    Datasette will create a table with a schema that matches those rows and insert them for you: \n                 POST /<database>/-/create\nContent-Type: application/json\nAuthorization: Bearer dstok_<rest-of-token> \n                 {\n    \"table\": \"creatures\",\n    \"rows\": [\n        {\n            \"id\": 1,\n            \"name\": \"Tarantula\"\n        },\n        {\n            \"id\": 2,\n            \"name\": \"K\u0101k\u0101p\u014d\"\n        }\n    ],\n    \"pk\": \"id\"\n} \n                 Doing this requires both the  create-table  and  insert-row  permissions. \n                 The  201  response here will be similar to the  columns  form, but will also include the number of rows that were inserted as  row_count : \n                 {\n    \"ok\": true,\n    \"database\": \"data\",\n    \"table\": \"creatures\",\n    \"table_url\": \"http://127.0.0.1:8001/data/creatures\",\n    \"table_api_url\": \"http://127.0.0.1:8001/data/creatures.json\",\n    \"schema\": \"CREATE TABLE [creatures] (\\n   [id] INTEGER PRIMARY KEY,\\n   [name] TEXT\\n)\",\n    \"row_count\": 2\n} \n                 You can call the create endpoint multiple times for the same table provided you are specifying the table using the  rows  or  row  option. New rows will be inserted into the table each time. This means you can use this API if you are unsure if the relevant table has been created yet. \n                 If you pass a row to the create endpoint with a primary key that already exists you will get an error that looks like this: \n                 {\n    \"ok\": false,\n    \"errors\": [\n        \"UNIQUE constraint failed: creatures.id\"\n    ]\n} \n                 You can avoid this error by passing the same  \"ignore\": true  or  \"replace\": true  options to the create endpoint as you can to the  insert endpoint . \n                 To use the  \"replace\": true  option you will also need the  update-row  permission. \n                 Pass  \"alter\": true  to automatically add any missing columns to the existing table that are present in the rows you are submitting. This requires the  alter-table  permission.", "breadcrumbs": "[\"JSON API\", \"The JSON write API\"]", "references": "[]"}], "truncated": false}