All paragraphs that overlap with the given range are bulleted. If the specified
range overlaps with a table, the bullets are applied within the table cells. The
nesting level of each paragraph is determined by counting leading tabs in front
of each paragraph.
You can't adjust the nesting level of an existing bullet.
Instead, you must delete the bullet, set the leading tabs in front of the
paragraph, and then create the bullet again. For more information, see Remove
bullets from a list.
You can also use CreateParagraphBulletsRequest to change the bullet style for
an existing list.
The following code sample shows a batch request that first inserts text at the
start of the document, and then it creates a list from the paragraphs spanning
the first 50 characters. The BulletGlyphPreset uses
BULLET_ARROW_DIAMOND_DISC which means the first three nesting levels of the
bulleted list are represented by an arrow, a diamond, and a disc.
The method deletes all bullets that overlap with the given range, regardless of
nesting level. To visually preserve the nesting level, indentation is added to
the start of each corresponding paragraph.
The following code sample shows a batch request that deletes bullets from a
paragraph list.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-04 UTC."],[],[],null,["# Work with lists\n\nThe Google Docs API supports converting plain paragraphs to bulleted lists and\nremoving bullets from paragraphs.\n\nConvert a paragraph to a list\n-----------------------------\n\nA common paragraph formatting operation is converting paragraphs into a bulleted\nlist.\n\nTo create a list, use the\n[`documents.batchUpdate`](/workspace/docs/api/reference/rest/v1/documents/batchUpdate)\nmethod and supply a\n[`CreateParagraphBulletsRequest`](/workspace/docs/api/reference/rest/v1/documents/request#createparagraphbulletsrequest).\nInclude a [`Range`](/workspace/docs/api/reference/rest/v1/documents#Range) to specify the\naffected cells and a\n[`BulletGlyphPreset`](/workspace/docs/api/reference/rest/v1/documents/request#bulletglyphpreset)\nto set the pattern for the bullet.\n\nAll paragraphs that overlap with the given range are bulleted. If the specified\nrange overlaps with a table, the bullets are applied within the table cells. The\nnesting level of each paragraph is determined by counting leading tabs in front\nof each paragraph.\n\nYou can't adjust the nesting level of an existing bullet.\nInstead, you must delete the bullet, set the leading tabs in front of the\nparagraph, and then create the bullet again. For more information, see [Remove\nbullets from a list](#remove-list).\n\nYou can also use `CreateParagraphBulletsRequest` to change the bullet style for\nan existing list.\n\nThe following code sample shows a batch request that first inserts text at the\nstart of the document, and then it creates a list from the paragraphs spanning\nthe first 50 characters. The `BulletGlyphPreset` uses\n`BULLET_ARROW_DIAMOND_DISC` which means the first three nesting levels of the\nbulleted list are represented by an arrow, a diamond, and a disc. \n\n### Java\n\n```java\nList\u003cRequest\u003e requests = new ArrayList\u003c\u003e();\nrequests.add(new Request().setInsertText(new InsertTextRequest()\n .setText(\"Item One\\n\")\n .setLocation(new Location().setIndex(1).setTabId(TAB_ID))));\n\nrequests.add(new Request().setCreateParagraphBullets(\n new CreateParagraphBulletsRequest()\n .setRange(new Range()\n .setStartIndex(1)\n .setEndIndex(50)\n .setTabId(TAB_ID))\n .setBulletPreset(\"BULLET_ARROW_DIAMOND_DISC\")));\n\nBatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);\nBatchUpdateDocumentResponse response = docsService.documents()\n .batchUpdate(DOCUMENT_ID, body).execute();\n```\n\n### Python\n\n```python\nrequests = [\n {\n 'insertText': {\n 'location': {\n 'index': 1,\n 'tabId': TAB_ID\n },\n 'text': 'Item One\\n',\n }}, {\n 'createParagraphBullets': {\n 'range': {\n 'startIndex': 1,\n 'endIndex': 50,\n 'tabId': TAB_ID\n },\n 'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC',\n }\n }\n]\n\nresult = service.documents().batchUpdate(\n documentId=DOCUMENT_ID, body={'requests': requests}).execute()\n```\n**Figure 1.** Convert a paragraph to a list.\n\nRemove bullets from a list\n--------------------------\n\nTo remove bullets from a paragraph list, use the\n[`documents.batchUpdate`](/workspace/docs/api/reference/rest/v1/documents/batchUpdate)\nmethod and supply a\n[`DeleteParagraphBulletsRequest`](/workspace/docs/api/reference/rest/v1/documents/request#deleteparagraphbulletsrequest).\nInclude a [`Range`](/workspace/docs/api/reference/rest/v1/documents#Range) to specify the\naffected cells.\n\nThe method deletes all bullets that overlap with the given range, regardless of\nnesting level. To visually preserve the nesting level, indentation is added to\nthe start of each corresponding paragraph.\n\nThe following code sample shows a batch request that deletes bullets from a\nparagraph list. \n\n### Java\n\n```java\nList\u003cRequest\u003e requests = new ArrayList\u003c\u003e();\nrequests.add(new Request().setDeleteParagraphBullets(\n new DeleteParagraphBulletsRequest()\n .setRange(new Range()\n .setStartIndex(1)\n .setEndIndex(50)\n .setTabId(TAB_ID))));\n\nBatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);\nBatchUpdateDocumentResponse response = docsService.documents()\n .batchUpdate(DOCUMENT_ID, body).execute();\n```\n\n### Python\n\n```python\nrequests = [\n {\n 'deleteParagraphBullets': {\n 'range': {\n 'startIndex': 1,\n 'endIndex': 50,\n 'tabId': TAB_ID\n },\n }\n }\n]\n\nresult = service.documents().batchUpdate(\n documentId=DOCUMENT_ID, body={'requests': requests}).execute()\n```"]]