Help Doc Access Show

Layouts API

Manage layouts (slide templates owned by a master) in a presentation. Insert, list, update, and delete layouts.

GET List Layouts

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

Lists layouts in a presentation. Use this endpoint to discover the slide templates available in the deck before creating slides or changing a slide's layout. Pass ids to fetch specific layouts, or page through all layouts with from and count. Layout ids returned here can be used in slide insert and slide update requests.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.

Query parameters

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

Responses

200 Layouts Retrieved
400 Invalid Count
400 Invalid Ids
400 Invalid From
{ "data": { "layouts": [ { "layout_id": "10bd9a76-0b72-4f5a-8afe-b3beec80db3e", "content": { "layout_id": "e8f90363-905a-4d13-840f-504efd08c626", "graphic_objects": [ { "shape": { "text": { "paragraphs": [ { "style": { "halign": "CENTER" }, "portions": [ { "style": {} } ] } ], "properties": {} }, "basic": { "snip_rectangle": {}, "type": "SNIP_RECTANGLE" }, "properties": { "layout": { "top": 69, "left": 52.444622, "width": 854.2216, "flipv": true, "height": 597.4444 }, "strokes": [ { "jointype": "MITER", "fill": {} } ], "fills": [ { "solid": { "color": { "rgb": {} } } } ] } }, "id": "6ef5579e-1b5f-4777-9662-8726c2dc481a" }, { "id": "22c61ebe-6acc-4962-b980-2c61f3c266c0", "picture": { "media": { "local_id": "55d70acf-23f3-47c5-a70e-49c8c9d27a09" }, "properties": { "layout": { "top": 69.33365, "left": 53, "width": 852, "height": 597.3334 } } } }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Click to edit Master title style" } ] } ], "properties": { "valign": "BOTTOM" } }, "properties": { "layout": { "top": 229.77754, "left": 114.33291, "width": 720.0325, "height": 312.88913 } } }, "id": "afee2455-b12f-4a6f-909b-f60611c56e49" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Click to edit Master subtitle style" } ] } ], "properties": { "valign": "BOTTOM" } }, "properties": { "layout": { "top": 112.33312, "left": 114.33291, "width": 720.0004, "height": 62.22226 } } }, "id": "a2011fd6-fe93-41df-b4d1-3db160aca3c2" }, { "shape": { "text": { "paragraphs": [ { "style": { "halign": "CENTER" }, "portions": [ { "style": {} } ] } ], "properties": {} }, "basic": {}, "properties": { "layout": { "top": 54.333332, "left": 52.444725, "width": 854.222, "height": 14.666666 }, "strokes": [ { "jointype": "MITER", "fill": {} } ], "fills": [ { "solid": { "color": { "rgb": {} } } } ] } }, "id": "17888a5c-6fad-408e-a622-278eb8b2f992" }, { "connector": { "type": "LINE", "stroke": { "jointype": "MITER", "width": 4, "fill": { "solid": { "color": { "rgb": {} } } } } }, "id": "737d0a05-aeff-418d-a478-24ab1d4314f9" }, { "connector": { "type": "LINE", "stroke": { "jointype": "MITER", "width": 4, "fill": { "solid": { "color": { "rgb": {} } } } } }, "id": "306b85b1-b37e-464d-83b8-fd11be9a1e12" }, { "shape": { "text": { "paragraphs": [ { "style": { "halign": "CENTER" }, "portions": [ { "style": {} } ] } ], "properties": {} }, "basic": { "type": "TRIANGLE", "triangle": { "type": "RIGHT_ANGLED" } }, "properties": { "layout": { "rotate": 90, "top": 625.3328, "left": 865.66626, "width": 41.333755, "height": 41.333755 }, "strokes": [ { "jointype": "MITER", "fill": {} } ], "fills": [ { "solid": { "color": { "rgb": {} } } } ] } }, "id": "063d9e5b-d3ab-452e-bcf4-e0c712a2f0af" }, { "id": "90cb7ff0-6b0b-428d-aaab-d90261d1fc7e", "picture": { "media": { "local_id": "81f11948-0410-41d0-a667-d181434b86bd" }, "properties": { "layout": { "top": 624, "left": 865.3328, "width": 40.333755, "height": 40.333755 } } } }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "<#>" } ] } ], "properties": { "inset": { "top": 4.8, "left": 9.6, "bottom": 4.8, "right": 9.6 } } }, "basic": {}, "properties": { "layout": { "top": 666.4444, "left": 675.6667, "width": 224, "height": 38.333332 } } }, "id": "09C9996C-AC55-4D5F-8750-40F33EFF12F7" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Footer" } ] } ], "properties": { "inset": { "top": 4.8, "left": 9.6, "bottom": 4.8, "right": 9.6 } } }, "basic": {}, "properties": { "layout": { "top": 666.4444, "left": 328, "width": 304, "height": 38.333332 } } }, "id": "FD47F05C-8029-496E-BC30-6BA8998056B4" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Date" } ] } ], "properties": { "inset": { "top": 4.8, "left": 9.6, "bottom": 4.8, "right": 9.6 } } }, "basic": {}, "properties": { "layout": { "top": 666.4444, "left": 60.333332, "width": 224, "height": 38.333332 } } }, "id": "4465414B-6EFC-4207-8701-77116EFDDFBB" } ] } }, { "layout_id": "a00c3344-7fa3-4350-8df2-d8e4455eabea", "content": { "layout_id": "e8f90363-905a-4d13-840f-504efd08c626", "graphic_objects": [ { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Click to edit Master title style" } ] } ], "properties": {} }, "properties": {} }, "id": "c19ad51a-9927-4e03-9e3d-62019ff5e6d3" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Date" } ] } ], "properties": {} }, "properties": { "layout": { "top": 666.4444, "left": 60.999893, "width": 224, "height": 38.333332 } } }, "id": "340bcbb4-0a8b-43ff-ba1f-fbca14df2f95" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Footer" } ] } ], "properties": {} }, "properties": {} }, "id": "9c85a06e-13d2-49df-8da0-3fb18d725fde" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "<#>" } ] } ], "properties": {} }, "properties": {} }, "id": "695fc1ec-44cf-437b-b7bc-f2b0d6749a34" }, { "shape": { "text": { "paragraphs": [ { "style": { "level": 1 }, "portions": [ { "style": {}, "text": "Click to edit Master text styles" } ] }, { "style": { "level": 2 }, "portions": [ { "style": {}, "text": "Second level" } ] }, { "style": { "level": 3 }, "portions": [ { "style": {}, "text": "Third level" } ] }, { "style": { "level": 4 }, "portions": [ { "style": {}, "text": "Fourth level" } ] }, { "style": { "level": 5 }, "portions": [ { "style": {}, "text": "Fifth level" } ] } ], "properties": {} }, "properties": { "layout": { "top": 162.89764, "left": 61.228348, "width": 832, "height": 440 } } }, "id": "4af6ae95-a716-4df1-929a-4448b205b92f" } ] } }, { "layout_id": "9b3be7bb-025e-45a3-a4ee-91a308d4332d", "content": { "layout_id": "e8f90363-905a-4d13-840f-504efd08c626", "graphic_objects": [ { "shape": { "text": { "paragraphs": [ { "style": { "halign": "CENTER" }, "portions": [ { "style": {} } ] } ], "properties": {} }, "basic": { "snip_rectangle": {}, "type": "SNIP_RECTANGLE" }, "properties": { "layout": { "rotate": 180, "top": 53.888294, "left": 52.444622, "width": 854.2216, "flipv": true, "height": 597.4444 }, "strokes": [ { "jointype": "MITER", "fill": {} } ], "fills": [ { "solid": { "color": { "rgb": {} } } } ] } }, "id": "aaf469c2-1cc5-488b-a861-5e5526840188" }, { "id": "5fcff541-5b75-4b3b-83f2-f1520495ad67", "picture": { "media": { "local_id": "71c5c774-539e-4d76-b0f1-fbe286ff0e6e" }, "properties": { "layout": { "rotate": 180, "top": 54.22194, "left": 53.111183, "width": 852, "height": 597.3334 } } } }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Click to edit Master title style" } ] } ], "properties": { "valign": "BOTTOM" } }, "properties": { "layout": { "top": 156.19044, "left": 112, "width": 721.44446, "height": 307.47653 } } }, "id": "fc66fdb0-e420-4f9c-b158-53a00bf0ca49" }, { "shape": { "text": { "paragraphs": [ { "style": { "level": 1 }, "portions": [ { "style": {}, "text": "Click to edit Master text styles" } ] } ], "properties": { "valign": "TOP" } }, "properties": { "layout": { "top": 515.38403, "left": 114.66676, "width": 721.44446, "height": 80.4442 } } }, "id": "de82acb9-f790-4e75-afc3-44e6fe4a9e92" }, { "shape": { "text": { "paragraphs": [ { "style": { "halign": "CENTER" }, "portions": [ { "style": {} } ] } ], "properties": {} }, "basic": {}, "properties": { "layout": { "top": 651.7777, "left": 52.444725, "width": 854.222, "height": 14.666666 }, "strokes": [ { "jointype": "MITER", "fill": {} } ], "fills": [ { "solid": { "color": { "rgb": {} } } } ] } }, "id": "abacf849-5611-4c1f-94fe-e8c5b638c4ff" }, { "shape": { "text": { "paragraphs": [ { "style": { "halign": "CENTER" }, "portions": [ { "style": {} } ] } ], "properties": {} }, "basic": { "type": "TRIANGLE", "triangle": { "type": "RIGHT_ANGLED" } }, "properties": { "layout": { "rotate": 270, "top": 53.554962, "left": 52.111393, "width": 41.333755, "height": 41.333755 }, "strokes": [ { "jointype": "MITER", "fill": {} } ], "fills": [ { "solid": { "color": { "rgb": {} } } } ] } }, "id": "afbed037-e622-442c-a06d-86df0b6f5934" }, { "id": "d87ffd90-b10d-4760-8335-31fb1ade83bb", "picture": { "media": { "local_id": "5236e91a-8184-407d-a010-0a00c21ddec1" }, "properties": { "layout": { "rotate": 180, "top": 55.666138, "left": 53.11139, "width": 40.333755, "height": 40.333755 } } } }, { "connector": { "type": "LINE", "stroke": { "jointype": "MITER", "width": 4, "fill": { "solid": { "color": { "rgb": {} } } } } }, "id": "ebe088d2-8b5d-4085-a6ae-b5781323bce0" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "<#>" } ] } ], "properties": { "inset": { "top": 4.8, "left": 9.6, "bottom": 4.8, "right": 9.6 } } }, "basic": {}, "properties": { "layout": { "top": 666.4444, "left": 675.6667, "width": 224, "height": 38.333332 } } }, "id": "4BD15D0C-6A7D-402B-8EB1-2D063540D5CE" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Footer" } ] } ], "properties": { "inset": { "top": 4.8, "left": 9.6, "bottom": 4.8, "right": 9.6 } } }, "basic": {}, "properties": { "layout": { "top": 666.4444, "left": 328, "width": 304, "height": 38.333332 } } }, "id": "B9B09D6D-6131-4A6F-BF5E-765CF650AE9C" }, { "shape": { "text": { "paragraphs": [ { "portions": [ { "style": {}, "text": "Date" } ] } ], "properties": { "inset": { "top": 4.8, "left": 9.6, "bottom": 4.8, "right": 9.6 } } }, "basic": {}, "properties": { "layout": { "top": 666.4444, "left": 60.333332, "width": 224, "height": 38.333332 } } }, "id": "FFB4F7F6-350B-4E35-AD0A-BCC3458E2DD0" } ] } } ] }, "message": "Layout(s) content retrieved successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/layouts", "status": "success" }

Code Examples

cURL
curl -X GET "https://show.zoho.com/api/v1/presentation/{rid}/layouts?ids={{ids}}&from=0&count=20" \ -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json"

POST Insert Layouts

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

Creates one or more layouts in a presentation. Use this endpoint to create reusable slide templates, custom placeholders, or layout-level objects that future slides can reference. Each layout entry describes a MasterLayout. Do not send an id field in insert requests. The URL only needs the presentation id. Provide a layout type or layout body appropriate for the template you want to add.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.

Request Body

Interactive structure. Expand fields and select optional schema parts.

Schema Catalog
Samples

Request Body

JSON
{ "layouts": [ { "name": "Title + Content", "layout": { "titleContent": { "stack": { "type": "STACK_VERTICAL_TITLE_CONTENT" } } }, "graphic_objects": [ { "shape": { "properties": { "placeholder": { "type": "TITLE" }, "layout": { "left": 40, "top": 30, "width": 880, "height": 90 } }, "text": { "paragraphs": [ { "portions": [ { "text": "Title placeholder" } ] } ] } } }, { "shape": { "properties": { "placeholder": { "type": "CONTENT" }, "layout": { "left": 40, "top": 140, "width": 880, "height": 360 } } } } ] } ] }

Responses

200 Layouts Inserted
400 Missing Layouts
400 Unsupported layout type: titleQuadContent
{ "data": { "success_count": "1", "failure_count": "0", "results": [ { "layout_id": "8e22d394-454d-4fc8-b2e2-2a93335cb863" } ] }, "message": "Layout(s) inserted successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/layouts", "status": "success" }

Code Examples

cURL
curl -X POST "https://show.zoho.com/api/v1/presentation/{rid}/layouts" \ -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "layouts": [ { "name": "Title + Content", "layout": { "titleContent": { "stack": { "type": "STACK_VERTICAL_TITLE_CONTENT" } } }, "graphic_objects": [ { "shape": { "properties": { "placeholder": { "type": "TITLE" }, "layout": { "left": 40, "top": 30, "width": 880, "height": 90 } }, "text": { "paragraphs": [ { "portions": [ { "text": "Title placeholder" } ] } ] } } }, { "shape": { "properties": { "placeholder": { "type": "CONTENT" }, "layout": { "left": 40, "top": 140, "width": 880, "height": 360 } } } } ] } ] }'

PUT Update Layouts

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

Updates one or more existing layouts. Use this endpoint to rename layouts, change their layout definition, or adjust layout-level object structure used by slides. Each update entry must include the layout id. Changing a layout can affect slides that reference it, so list dependent slides or refresh slide previews after successful updates.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.

Request Body

Interactive structure. Expand fields and select optional schema parts.

Schema Catalog
Samples

Request Body

JSON
{ "layouts": [ { "id": "11111111-1111-4111-8111-111111111111", "name": "Renamed Layout" } ] }

Responses

200 Layouts Updated
400 Missing Layouts
400 Missing Id
404 Layout Not Found
{ "data": { "success_count": "1", "failure_count": "0", "results": [ { "layout_ids": [ "10bd9a76-0b72-4f5a-8afe-b3beec80db3e" ], "layout_id": "10bd9a76-0b72-4f5a-8afe-b3beec80db3e" } ] }, "message": "Layout(s) updated successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/layouts", "status": "success" }

Code Examples

cURL
curl -X PUT "https://show.zoho.com/api/v1/presentation/{rid}/layouts" \ -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "layouts": [ { "id": "11111111-1111-4111-8111-111111111111", "name": "Renamed Layout" } ] }'

DELETE Remove Layouts

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

Deletes one or more layouts from a presentation. Use this endpoint to remove unused custom layouts from a deck. Pass layout UUIDs through the ids query parameter. Delete only layouts that are safe to remove; slides referencing a deleted layout may need to be reassigned to another layout.

Path parameters

Name Type Required Description
rid string Required Resource id of the presentation. The caller must have the appropriate permission on this presentation.

Query parameters

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

Responses

200 Layouts Deleted
400 Missing Ids
404 Layout Not Found
400 Invalid Ids
{ "data": { "success_count": "1", "failure_count": "0", "results": [ { "layout_index": "32", "layout_id": "ac09133f-f587-4b60-9c71-92a4c9868a85", "master_index": "0", "last_saved_version": "38" } ] }, "message": "Layout(s) deleted successfully", "request_uri": "/api/v1/presentation/8i4vv3f345fcf907446a2bdc4e2c871fc585e/layouts", "status": "success" }

Code Examples

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