labels_id,labels_id_label,issues_id,issues_id_label 754730474,json-api,268453968,Ability to serialize massive JSON without blocking event loop 754730474,json-api,272391665,Switch to ujson 754730474,json-api,274022950,Link to JSON for the list of tables 754730474,json-api,275089535,?_json=foo&_json=bar query string argument 754730474,json-api,275092453,"Redesign JSON output, ditch jsono, offer variants controlled by parameter instead" 754730474,json-api,323658641,Add ?_extra= mechanism for requesting extra properties in JSON 754730474,json-api,627794879,Redesign default .json format 754730474,json-api,637363686,Mechanism for skipping CSRF checks on API posts 754730474,json-api,648637666,POST to /db/canned-query that returns JSON should be supported (for API clients) 754730474,json-api,671056788,"""Object of type bytes is not JSON serializable"" for _nl=on" 754730474,json-api,710650633,Default table view JSON should include CREATE TABLE 754730474,json-api,718723543,Add Link: pagination HTTP headers 754730474,json-api,741231849,Idea: ?_extra=urls for getting back URLs to useful things 754730474,json-api,812704869,?_pretty=1 option for pretty-printing JSON output 754730474,json-api,1054243511,Datasette 1.0 JSON API (and documentation) 754730474,json-api,1065429936,Use datasette-table Web Component to guide the design of the JSON API for 1.0 754730474,json-api,1065431383,"Add `Link: rel=""alternate""` header pointing to JSON for a table/query" 754730474,json-api,1065432388,Maybe return JSON from HTML pages if `Accept: application/json` is sent 754730474,json-api,1079111498,if csv export is truncated in non streaming mode set informative response header 754730474,json-api,1082584499,Redesign `facet_results` JSON structure prior to Datasette 1.0 754730474,json-api,1121618041,"Link: rel=""alternate"" to JSON for queries too" 754730474,json-api,1174717287,Tweak design of /.json 754730474,json-api,1219385669,Implement ?_extra and new API design for TableView 754730474,json-api,1421529723,Write API in Datasette core 754730474,json-api,1421544654,API to insert a single record into an existing table 754730474,json-api,1421552095,Default API token authentication mechanism 754730474,json-api,1423336089,`datasette create-token` ability to create tokens with a reduced set of permissions 754730474,json-api,1425011030,"Create a new table from one or more records, `sqlite-utils` style" 754730474,json-api,1425029242,Update a single record in an existing table 754730474,json-api,1425029275,Delete a single record from an existing table 754730474,json-api,1426001541,API for bulk inserting records into a table 754730474,json-api,1426080014,/db/table/-/rename API (also allows atomic replace) 754730474,json-api,1426195437,Design URLs for the write API 754730474,json-api,1427293909,API explorer tool 754730474,json-api,1428630253,Ensure insert API has good tests for rowid and compound primark key tables 754730474,json-api,1429030341,API to drop a table 754730474,json-api,1430797211,Figure out design for JSON errors (consider RFC 7807) 754730474,json-api,1432012302,Refactor and tidy up final write API code 754730474,json-api,1432013704,/db/table/-/upsert API 754730474,json-api,1447388809,Add a confirm step to the drop table API 754730474,json-api,1447439985,API explorer should take immutability into account 754730474,json-api,1447465004,Ability to create new tokens via the API 754730474,json-api,1468495358,Check incoming column types on various write APIs 754730474,json-api,1468519699,`/db/-/create` should support creating tables with compound primary keys 754730474,json-api,1468689139,Finalize design of JSON for Datasette 1.0 754730474,json-api,1469043836,Don't allow writable API to edit the `_memory` database 754730474,json-api,1469044738,API explorer should list mutable databases first 754730474,json-api,1469973742,Make sure CORS works for write APIs 754730474,json-api,1470509936,Docs for replace:true and ignore:true options for insert API 754730474,json-api,1473411197,ignore:true/replace:true options for /db/-/create API 754730474,json-api,1473814539,/db/table/-/upsert 754730474,json-api,1479920517,Return number of ignored/replaced items from /-/insert 754730474,json-api,1483250004,Fix /db/table/-/upsert in the API explorer 754730474,json-api,1483320357,/db/-/create API should require insert-rows permission to use row: or rows: option 754730474,json-api,1493404423,500 error on permission debug page when testing actors with _r 754730474,json-api,1493471221,`.json` errors should be returned as JSON 754730474,json-api,1551694938,?_extra= support (draft) 754730474,json-api,1646734246,Custom SQL queries should use new JSON ?_extra= format 754730474,json-api,1649791661,Row page JSON should use new ?_extra= format 754730474,json-api,1649793525,`?_extra=row_urls` for table pages 754730474,json-api,1656432059,WIP new JSON for queries 754730474,json-api,1726531350,Datasette should serve Access-Control-Max-Age 754730474,json-api,1803264272,alter: true support for JSON write API 754730474,json-api,1822939274,Implement and document extras for the new query view page 754730474,json-api,1843710170,Query view shouldn't return `columns` 754730474,json-api,1843821954,Redesign row default JSON