Help Doc Access Show

Shapes API

Manage shape elements on a slide, master, or layout. Insert, list, update, and delete shapes — basic shapes, block arrows, flowchart symbols, stars, callouts, and custom shapes.

GET List Shapes

GET https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes
Required Scopes:
ZohoShow.showdocslist.READ

Returns shape objects from the selected slide, master, or layout. Use this after insert or update operations to read the server-normalized object data, including geometry, style, text, and object ids. Omit ids to page through every shape in the container. Provide comma-separated UUIDs in ids to fetch specific shapes. from and count apply only when listing multiple shapes; count accepts values from 1 to 99.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.
container string Required Container type that owns the object. Allowed values: slides, masters, layouts.
container_id string Required Id of the selected container. Provide slide_id when container is slides, master_id when container is masters, or layout_id when container is layouts.

Query parameters

Name Type Required Description
ids string Optional Comma-separated shape object ids to fetch. Omit this parameter to list all shape objects in the selected presentation or container.
from integer Optional Zero-based offset for pagination.
count integer Optional Maximum number of records to return. Allowed range: 1-99.
Samples

Responses

200 Shapes Retrieved
400 Invalid Count
400 Invalid Ids
400 Invalid From
{ "data": { "objects": [ { "object_id": "4d6435df-0fb6-4bfa-97bb-f0e759feaf02", "content": { "shape": { "text": { "paragraphs": [ { "id": "c5939583-fb52-4e2f-8988-3edf69f12147", "portions": [ { "style": { "fontweight": "NORMAL" } } ] } ], "properties": { "inset": { "top": 5, "left": 10, "bottom": 5, "right": 10 } } }, "basic": { "type": "OVAL" }, "properties": { "layout": { "top": 100, "left": 100, "width": 100, "height": 100 } } }, "id": "4d6435df-0fb6-4bfa-97bb-f0e759feaf02" } }, { "object_id": "d990e909-996c-4447-9ca5-11c0897f57aa", "content": { "shape": { "text": { "paragraphs": [ { "id": "85c78ce0-0d33-458e-9d38-8e4ad29b4acd", "portions": [ { "style": { "fontweight": "NORMAL" } } ] } ], "properties": { "inset": { "top": 5, "left": 10, "bottom": 5, "right": 10 } } }, "basic": {}, "properties": { "layout": { "top": 100, "left": 100, "width": 100, "height": 100 } } }, "id": "d990e909-996c-4447-9ca5-11c0897f57aa" } }, { "object_id": "11920bee-5d3f-45c6-8ac0-dc0231e47388", "content": { "shape": { "star": { "type": "POINT", "point": { "type": "FIVE_POINT" } }, "text": { "paragraphs": [ { "id": "5b30d2af-1180-41fb-8c05-035757d55aed", "portions": [ { "style": { "fontweight": "NORMAL" } } ] } ], "properties": { "inset": { "top": 5, "left": 10, "bottom": 5, "right": 10 } } }, "properties": { "layout": { "top": 100, "left": 100, "width": 100, "height": 100 } } }, "id": "11920bee-5d3f-45c6-8ac0-dc0231e47388" } }, { "object_id": "7c23a78c-1cd7-466a-a543-95dd066dd44c", "content": { "shape": { "block_arrow": { "single_arrow": {} }, "text": { "paragraphs": [ { "id": "96939a38-5862-4718-a65b-29feb84179e7", "portions": [ { "style": { "fontweight": "NORMAL" } } ] } ], "properties": { "inset": { "top": 5, "left": 10, "bottom": 5, "right": 10 } } }, "properties": { "layout": { "top": 100, "left": 100, "width": 100, "height": 100 } } }, "id": "7c23a78c-1cd7-466a-a543-95dd066dd44c" } }, { "object_id": "7f5642ce-dc64-4666-a41f-832669ff1c4b", "content": { "shape": { "text": { "paragraphs": [ { "id": "5a021efd-78fc-43b5-88dc-4e3c24280702", "portions": [ { "style": { "fontweight": "NORMAL" } } ] } ], "properties": { "inset": { "top": 5, "left": 10, "bottom": 5, "right": 10 } } }, "basic": {}, "properties": { "layout": { "width": 100, "height": 60 } } }, "id": "7f5642ce-dc64-4666-a41f-832669ff1c4b" } } ], "container_id": "54ca442b-63d1-43df-bda9-9f8cd2654e70" }, "message": "Shape(s) content retrieved successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/slides/54ca442b-63d1-43df-bda9-9f8cd2654e70/shapes", "status": "success" }

Code Examples

cURL
curl -X GET "https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes?ids=a0000000-0000-4000-8000-000000000001,a0000000-0000-4000-8000-000000000002&from=0&count=20" \ -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json"

POST Insert Shapes

POST https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes
Required Scopes:
ZohoShow.showdocslist.CREATE

Creates one or more vector shape objects inside a slide, master, or layout container. Use this endpoint to place rectangles, ovals, arrows, flowchart symbols, callouts, custom paths, or text-bearing shapes on a canvas. Each item in elements is a GraphicObject wrapper. For this route, send the shape branch and choose one shape family such as basic, block_arrow, star, flowchart, callout, mathematical_symbol, or custom. Do not send every branch shown in the schema explorer; those fields describe every supported shape variation, not a single valid payload. Do not send an id field in insert requests. Geometry is supplied through shape.properties.layout; fill, stroke, and text are optional.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.
container string Required Container type that owns the object. Allowed values: slides, masters, layouts.
container_id string Required Id of the selected container. Provide slide_id when container is slides, master_id when container is masters, or layout_id when container is layouts.

Request Body

Interactive structure. Expand fields and select optional schema parts.

Schema Catalog
Samples

Request Body

JSON
{ "elements": [ { "name": "Single Rectangle", "shape": { "basic": { "type": "RECTANGLE" }, "properties": { "layout": { "left": 100, "top": 100, "width": 240, "height": 140 }, "fills": [ { "solid": { "color": { "rgb": { "red": 66, "green": 133, "blue": 244 } } } } ], "strokes": [ { "type": "SOLID", "width": 1, "jointype": "ROUND", "captype": "FLAT", "position": "CENTER", "fill": { "solid": { "color": { "rgb": { "red": 51, "green": 51, "blue": 51 } } } } } ], "placeholder": { "type": "TITLE" } }, "text": { "paragraphs": [ { "portions": [ { "text": "Single shape" } ] } ] } } } ] }

Responses

200 Shapes Inserted
400 Missing Elements
{ "data": { "success_count": "1", "failure_count": "0", "results": [ { "insert_object": { "final_index": "0", "object": { "slide_object": { "slide_id": "54ca442b-63d1-43df-bda9-9f8cd2654e70", "object_id": "4d6435df-0fb6-4bfa-97bb-f0e759feaf02" } } } } ] }, "message": "Shape(s) added successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/slides/54ca442b-63d1-43df-bda9-9f8cd2654e70/shapes", "status": "success" }

Code Examples

cURL
curl -X POST "https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes" \ -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "elements": [ { "name": "Single Rectangle", "shape": { "basic": { "type": "RECTANGLE" }, "properties": { "layout": { "left": 100, "top": 100, "width": 240, "height": 140 }, "fills": [ { "solid": { "color": { "rgb": { "red": 66, "green": 133, "blue": 244 } } } } ], "strokes": [ { "type": "SOLID", "width": 1, "jointype": "ROUND", "captype": "FLAT", "position": "CENTER", "fill": { "solid": { "color": { "rgb": { "red": 51, "green": 51, "blue": 51 } } } } } ], "placeholder": { "type": "TITLE" } }, "text": { "paragraphs": [ { "portions": [ { "text": "Single shape" } ] } ] } } } ] }'

PUT Update Shapes

PUT https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes
Required Scopes:
ZohoShow.showdocslist.UPDATE

Patches existing shape objects in the selected container. Use this to move or resize a shape, replace fills or strokes, update shadow/reflection, or edit the text facet without deleting and recreating the object. Each item in elements must include the target shape id. Send only the facets you want to change, such as properties.layout, properties.fills, properties.strokes, or text. Omitted fields are left unchanged. The response reports per-shape success or failure so batch clients can reconcile partial results.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.
container string Required Container type that owns the object. Allowed values: slides, masters, layouts.
container_id string Required Id of the selected container. Provide slide_id when container is slides, master_id when container is masters, or layout_id when container is layouts.

Request Body

Interactive structure. Expand fields and select optional schema parts.

Schema Catalog
Samples

Request Body

JSON
{ "elements": [ { "id": "a0000000-0000-4000-8000-000000000001", "properties": { "layout": { "left": 50, "top": 50, "width": 240, "height": 140 } } } ] }

Responses

200 Shapes Updated
400 Missing Elements
400 Missing Id
404 Object Not Found
{ "data": { "success_count": "1", "failure_count": "0", "results": [ { "id": "4d6435df-0fb6-4bfa-97bb-f0e759feaf02", "properties": [ { "shape_id": "4d6435df-0fb6-4bfa-97bb-f0e759feaf02", "status": "success", "last_saved_version": "236" } ] } ] }, "message": "Shape(s) updated successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/slides/54ca442b-63d1-43df-bda9-9f8cd2654e70/shapes", "status": "success" }

Code Examples

cURL
curl -X PUT "https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes" \ -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "elements": [ { "id": "a0000000-0000-4000-8000-000000000001", "properties": { "layout": { "left": 50, "top": 50, "width": 240, "height": 140 } } } ] }'

DELETE Remove Shapes

DELETE https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes
Required Scopes:
ZohoShow.showdocslist.DELETE

Deletes one or more shape objects from the selected slide, master, or layout. Use this when the object itself should be removed from the canvas; deleting a shape also removes its text and visual styling. Pass the target object ids as a comma-separated ids query parameter. All ids must belong to the selected container. The response includes per-object results and the new revision id for each successful deletion.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.
container string Required Container type that owns the object. Allowed values: slides, masters, layouts.
container_id string Required Id of the selected container. Provide slide_id when container is slides, master_id when container is masters, or layout_id when container is layouts.

Query parameters

Name Type Required Description
ids string Required Comma-separated shape object ids to delete. These ids select the objects to remove; the path parameters identify the container that holds them.
Samples

Responses

200 Shapes Deleted
400 Missing Ids
404 Object Not Found
400 Invalid Ids
{ "data": { "success_count": "1", "failure_count": "0", "results": [ { "new_revision_id": "250", "object_id": "96a1931b-1e23-4f07-9bbf-f503e397bc76" } ] }, "message": "Shape(s) deleted successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/slides/54ca442b-63d1-43df-bda9-9f8cd2654e70/shapes", "status": "success" }

Code Examples

cURL
curl -X DELETE "https://show.zoho.com/api/v1/presentation/{rid}/{container}/{container_id}/shapes?ids={{object_id}}" \ -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json"