Live JSON
GET/api/v1/live-json/documents
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Full-text search over this list's searchable fields.
1 <= length <= 200Comma-separated sort keys, - for descending, at most 1. Keys: size_bytes, subscriber_count, updated_at. Default: -updated_at.
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Response Body
application/json
curl -X GET "https://example.com/api/v1/live-json/documents"{ "documents": [ { "content_type": "string", "created_at": "2019-08-24T14:15:22Z", "id": "string", "is_shared": true, "locked": true, "name": "string", "owner_id": "string", "size_bytes": 0, "subscriber_count": 0, "updated_at": "2019-08-24T14:15:22Z" } ], "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }}POST/api/v1/live-json/documents
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request for creating a new document
Response Body
application/json
curl -X POST "https://example.com/api/v1/live-json/documents" \ -H "Content-Type: application/json" \ -d '{ "content": null }'{ "created_at": "2019-08-24T14:15:22Z", "id": "string"}GET/api/v1/live-json/documents/{document_id}
Authorization
bearer_token In: header
Path Parameters
Document ID
Query Parameters
View: meta (default), content, or full
Response Body
application/json
curl -X GET "https://example.com/api/v1/live-json/documents/string"{ "content_type": "string", "created_at": "2019-08-24T14:15:22Z", "description": "string", "id": "string", "is_shared": true, "lock_expires_at": "2019-08-24T14:15:22Z", "locked": true, "locked_by": "string", "name": "string", "owner_id": "string", "size_bytes": 0, "subscriber_count": 0, "tags": { "property1": "string", "property2": "string" }, "ttl_seconds": 0, "updated_at": "2019-08-24T14:15:22Z"}DELETE/api/v1/live-json/documents/{document_id}
Authorization
bearer_token In: header
Path Parameters
Document ID
Response Body
curl -X DELETE "https://example.com/api/v1/live-json/documents/string"PUT/api/v1/live-json/documents/{document_id}
Authorization
bearer_token In: header
Path Parameters
Document ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request for creating or updating a document (legacy/simple)
Response Body
curl -X PUT "https://example.com/api/v1/live-json/documents/string" \ -H "Content-Type: application/json" \ -d '{ "content": null }'GET/api/v1/live-json/documents/{document_id}/content
Authorization
bearer_token In: header
Path Parameters
Document ID
Response Body
application/json
curl -X GET "https://example.com/api/v1/live-json/documents/string/content"nullPATCH/api/v1/live-json/documents/{document_id}/content
Authorization
bearer_token In: header
Path Parameters
Document ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request for patching a document with JSONPath
Response Body
curl -X PATCH "https://example.com/api/v1/live-json/documents/string/content" \ -H "Content-Type: application/json" \ -d '{ "path": "string", "value": null }'PUT/api/v1/live-json/documents/{document_id}/content
Authorization
bearer_token In: header
Path Parameters
Document ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request for creating or updating a document (legacy/simple)
Response Body
curl -X PUT "https://example.com/api/v1/live-json/documents/string/content" \ -H "Content-Type: application/json" \ -d '{ "content": null }'GET/api/v1/live-json/documents/{document_id}/full
Authorization
bearer_token In: header
Path Parameters
Document ID
Response Body
application/json
curl -X GET "https://example.com/api/v1/live-json/documents/string/full"{ "content_type": "string", "created_at": "2019-08-24T14:15:22Z", "description": "string", "id": "string", "is_shared": true, "lock_expires_at": "2019-08-24T14:15:22Z", "locked": true, "locked_by": "string", "name": "string", "owner_id": "string", "size_bytes": 0, "subscriber_count": 0, "tags": { "property1": "string", "property2": "string" }, "ttl_seconds": 0, "updated_at": "2019-08-24T14:15:22Z", "content": null}POST/api/v1/live-json/documents/{document_id}/lock
Authorization
bearer_token In: header
Path Parameters
Document ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request for acquiring a document lock
Response Body
application/json
curl -X POST "https://example.com/api/v1/live-json/documents/string/lock" \ -H "Content-Type: application/json" \ -d '{}'{ "document_id": "string", "lock_expires_at": "2019-08-24T14:15:22Z", "locked_by": "string"}DELETE/api/v1/live-json/documents/{document_id}/lock
Authorization
bearer_token In: header
Path Parameters
Document ID
Response Body
curl -X DELETE "https://example.com/api/v1/live-json/documents/string/lock"PATCH/api/v1/live-json/documents/{document_id}/metadata
Authorization
bearer_token In: header
Path Parameters
Document ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request for updating document metadata only
Response Body
application/json
curl -X PATCH "https://example.com/api/v1/live-json/documents/string/metadata" \ -H "Content-Type: application/json" \ -d '{}'{ "content_type": "string", "created_at": "2019-08-24T14:15:22Z", "description": "string", "id": "string", "is_shared": true, "lock_expires_at": "2019-08-24T14:15:22Z", "locked": true, "locked_by": "string", "name": "string", "owner_id": "string", "size_bytes": 0, "subscriber_count": 0, "tags": { "property1": "string", "property2": "string" }, "ttl_seconds": 0, "updated_at": "2019-08-24T14:15:22Z"}GET/api/v1/live-json/stats
curl -X GET "https://example.com/api/v1/live-json/stats"{ "connections_active": 0, "documents_watched": 0, "total_subscriptions": 0}POST/api/v1/live-json/subscribe
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/live-json/subscribe" \ -H "Content-Type: application/json" \ -d '{ "document": "string", "path": "string" }'{ "connection_id": "string", "initial_value": null, "subscription_id": "string"}GET/api/v1/live-json/subscriptions
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Comma-separated sort keys, - for descending, at most 1. Keys: created_at. Default: -created_at.
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Response Body
application/json
curl -X GET "https://example.com/api/v1/live-json/subscriptions"{ "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }, "subscriptions": [ { "connection_id": "string", "created_at": "string", "document": "string", "path": "string", "subscription_id": "string" } ]}DELETE/api/v1/live-json/subscriptions/{subscription_id}
Authorization
bearer_token In: header
Path Parameters
Subscription ID to unsubscribe
Response Body
curl -X DELETE "https://example.com/api/v1/live-json/subscriptions/string"GET/ws/live-json/{document_id}
The document is fixed by the path. After the upgrade the server sends a
[LiveJsonServerMessage::ConnectionEstablished] frame, then the client picks
JSONPaths to watch by sending [LiveJsonClientMessage::Subscribe] over the
socket; every matching change arrives as a [LiveJsonServerMessage::Change].
Authorization
bearer_token In: header
Path Parameters
Document to watch
Query Parameters
JWT token (alternative to the Authorization header for browser clients).
Response Body
curl -X GET "https://example.com/ws/live-json/string"