Endpoints
create_spreadsheet
Create a private native spreadsheet with immutable initial version.
Request
Authentication is required by the published contract.
curl -X POST 'https://api.ursy.cloud/v1/spreadsheets' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_SERVICE_TOKEN'- Scopes
- Not specified by this operation
- Execution
- At the owning service
- Risk classification
- not declared
Parameters
Idempotency-Key header · string requiredSee the accepted schema for constraints.
This operation is documented here. Use the owning service with the appropriate credentials and permissions to execute it.
Response schemas and request body
{
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"maxLength": 190,
"x-ursy-maxBytes": 190
},
"parent_id": {
"type": "string",
"pattern": "^file_[1-9][0-9]{0,14}$"
},
"content": {
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"sheets"
]
},
"sheets": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"x-ursy-maxBytes": 80
},
"cells": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string",
"maxLength": 10000,
"x-ursy-maxBytes": 10000
},
"minItems": 1,
"maxItems": 64
},
"minItems": 1,
"maxItems": 2000
}
},
"required": [
"name",
"cells"
]
},
"minItems": 1,
"maxItems": 10
},
"formats": {
"anyOf": [
{
"type": "object",
"maxProperties": 5000,
"patternProperties": {
"^[0-9]+:[0-9]+:[0-9]+$": {
"type": "object",
"additionalProperties": false,
"properties": {
"align": {
"type": "string",
"enum": [
"left",
"center",
"right"
]
},
"wrap": {
"type": "boolean"
}
}
}
},
"additionalProperties": false
},
{
"type": "array",
"maxItems": 0
}
]
},
"validation": {
"anyOf": [
{
"type": "object",
"maxProperties": 5000,
"patternProperties": {
"^[0-9]+:[0-9]+:[0-9]+$": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": [
"list"
]
},
"values": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1000,
"x-ursy-maxBytes": 1000
},
"minItems": 1,
"maxItems": 20
}
},
"required": [
"type",
"values"
]
}
]
}
},
"additionalProperties": false
},
{
"type": "array",
"maxItems": 0
}
]
},
"widths": {
"anyOf": [
{
"type": "array",
"items": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 600
},
"minItems": 0,
"maxItems": 64
},
"minItems": 0,
"maxItems": 10
},
{
"type": "object",
"maxProperties": 10,
"patternProperties": {
"^[0-9]+$": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 600
},
"minItems": 0,
"maxItems": 64
}
},
"additionalProperties": false
}
]
},
"univer": {
"type": "string",
"maxLength": 700000,
"readOnly": true,
"description": "Browser snapshot. Presence makes the workbook read-only through API v1."
}
},
"required": [
"kind",
"sheets"
],
"description": "Rows in each sheet must have equal length. Range APIs allow up to 1000 cells. Formula source is preserved, not calculated. API writes allow SUM, AVERAGE, MIN, MAX, COUNT, IF, ROUND and ABS only. Native write JSON is at most 1000000 bytes."
}
},
"required": [
"name"
]
}
}
}
},
"responses": {
"200": {
"description": "Typed operation result; request_id correlates the request.",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"properties": {
"file": {
"type": "object",
"additionalProperties": false,
"properties": {
"schema": {
"type": "string",
"enum": [
"ursy.cloud/file/v1"
]
},
"id": {
"type": "string",
"pattern": "^file_[1-9][0-9]{0,14}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[1-9][0-9]*$"
},
"parent_id": {
"oneOf": [
{
"type": "string",
"pattern": "^file_[1-9][0-9]{0,14}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 190,
"x-ursy-maxBytes": 190
},
"type": {
"type": "string",
"enum": [
"folder",
"document",
"spreadsheet",
"presentation",
"note",
"publication",
"pdf",
"uploaded_file"
]
},
"current_version_id": {
"oneOf": [
{
"type": "string",
"pattern": "^ver_[1-9][0-9]*$"
},
{
"type": "null"
}
]
},
"etag": {
"type": "string",
"pattern": "^\"[a-f0-9]{64}\"$"
},
"state": {
"type": "string",
"enum": [
"active",
"trashed"
]
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"human_url": {
"type": "string"
}
},
"required": [
"schema",
"id",
"workspace_id",
"parent_id",
"name",
"type",
"current_version_id",
"etag",
"state",
"created_at",
"updated_at",
"human_url"
]
},
"request_id": {
"type": "string"
},
"replayed": {
"type": "boolean"
}
},
"required": [
"file"
]
}
}
}
},
"default": {
"description": "Stable error envelope. 401 invalid/expired/revoked grant; 403 missing scope; 404 unavailable resource; 409 plan/idempotency conflict; 412 stale ETag; 413 size/quota; 429 rate limit.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}