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