# List Content Library Item The endpoint retrieves items from the content library in PandaDoc. This endpoint supports filtering options to narrow down the results, allowing users to search by query, tags, folder, and more. > ### ⚠️ Please avoid empty values for the parameters > API returns "400" error when any of the parameters has an empty value. Please remove such a parameter from the request or add a value. # OpenAPI definition ```json { "openapi": "3.0.3", "info": { "title": "PandaDoc Public API", "description": "PandaDoc API spans a broad range of functionality to help you build incredible documents automation experiences inside your product.\n\nPandaDoc API is organized around REST. Our API has predictable resource-oriented URLs and uses standard HTTP response codes, authentication, and verbs.\n\n## Getting started\n\nYou can start testing PandaDoc API with a sandbox key on our [Enterprise](https://www.pandadoc.com/pricing/) plan, either active or in trial.\n\nGenerate your [sandbox key](https://developers.pandadoc.com/reference/sandbox-key) on the Developer Dashboard with predefined [rate limits](https://developers.pandadoc.com/reference/limits). Or contact our solutions expert if you work with high-transaction volumes.\n\n## Guides\n\nIf you’re just getting started with PandaDoc, you may want to jump straight into one of our [getting started guides](https://developers.pandadoc.com/docs/getting-started) for the feature you’re most interested in, whether that’s:\n\n- [Create from template](https://developers.pandadoc.com/docs/create-send-document),\n- [Upload and send a local PDF](https://developers.pandadoc.com/docs/upload-and-send-a-local-pdf),\n- or [Listening for changes in document status](https://developers.pandadoc.com/docs/listen-document-status-changes).\n\nWe also recommend you to discover our dynamic content generation on a fly: [Create from a template with content placeholder](https://developers.pandadoc.com/docs/create-with-content-placeholders-from-template).\n", "termsOfService": "https://www.pandadoc.com/master-services-agreement/", "contact": { "name": "PandaDoc API Support", "url": "https://developers.pandadoc.com/", "email": "api-track@pandadoc.com" }, "license": { "name": "MIT", "url": "https://github.com/PandaDoc/pandadoc-openapi-specification/blob/main/LICENSE" }, "version": "7.18.2" }, "servers": [ { "url": "https://api.pandadoc.com", "description": "Public API" } ], "security": [ { "apiKey": [] }, { "oauth2": [] } ], "tags": [ { "name": "Content Library Items", "description": "Operations for managing content library items, including retrieving details, checking status, and creating items via file upload." } ], "paths": { "/public/v1/content-library-items": { "get": { "summary": "List Content Library Item", "description": "The endpoint retrieves items from the content library in PandaDoc. This endpoint supports filtering options to narrow down the results, allowing users to search by query, tags, folder, and more.\n\n> ### ⚠️ Please avoid empty values for the parameters\n> API returns \"400\" error when any of the parameters has an empty value. Please remove such a parameter from the request or add a value.\n", "operationId": "listContentLibraryItems", "tags": [ "Content Library Items" ], "parameters": [ { "name": "q", "description": "Search query. Filter by content library item name.", "in": "query", "schema": { "type": "string" }, "example": "Sample Pricing Table" }, { "name": "id", "description": "Specify content library item ID.", "in": "query", "schema": { "type": "string" }, "example": "UXdP7Lnbvvr4WEb2wzM2hc" }, { "name": "deleted", "description": "Returns only the deleted content library items.", "in": "query", "schema": { "type": "boolean" }, "example": false }, { "name": "folder_uuid", "description": "The UUID of the folder where the content library items are stored.", "x-ignore-no-type": true, "in": "query", "schema": { "type": "string" }, "example": "S6xX7saJfA44mtJxGWd95L" }, { "name": "count", "description": "Specify how many content library items to return. Default is 50 content library items, maximum is 100 content library items.", "in": "query", "schema": { "type": "integer", "format": "int32", "minimum": 1 }, "example": 10 }, { "name": "page", "description": "Specify which page of the dataset to return.", "in": "query", "schema": { "type": "integer", "format": "int32", "minimum": 1 }, "example": 1 }, { "name": "tag", "description": "Search tag. Filter by content library item tag.", "in": "query", "schema": { "type": "string" }, "example": "pricing_tables" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContentLibraryItemListResponse" } } } }, "400": { "$ref": "#/components/responses/400RequestError" }, "401": { "$ref": "#/components/responses/401" }, "429": { "$ref": "#/components/responses/429" } } } } }, "components": { "securitySchemes": { "apiKey": { "type": "apiKey", "name": "Authorization", "in": "header", "description": "The `Authorization` header must contain the API key. The value should be prefixed with `API-Key` followed by a space and the actual API key.\n", "x-default": "API-Key 3039ba033eb1410caa0a2227158d63c9d6502cd8" }, "oauth2": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "https://app.pandadoc.com/oauth2/authorize", "tokenUrl": "https://api.pandadoc.com/oauth2/access_token", "refreshUrl": "https://api.pandadoc.com/oauth2/access_token", "scopes": { "read+write": "Use `read+write` to create, send, delete, and download documents, and `read` to view templates and document details." } } }, "description": "Send the authenticating user to the PandaDoc OAuth2 request URL. We recommend a button or a link titled\n\"Connect to PandaDoc\" if you are connecting users from a custom application. Users will see the \"Authorize Application\" screen.\nWhen the user clicks \"Authorize\", PandaDoc redirects the user back to your site with an authorization code inside the URL.\n\nhttps://app.pandadoc.com/oauth2/authorize?client_id={client_id}&redirect_uri={redirect_uri}&scope=read+write&response_type=code\n\n`client_id` and `redirect_uri` values should match your application settings.\n" } }, "schemas": { "ContentLibraryItemListResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "example": "a5UgY5J3rGqU7MtW5xwEGk" }, "name": { "type": "string", "example": "Painting Blog Banner" }, "date_created": { "type": "string", "example": "2021-04-12T08:43:51.090022Z" }, "date_modified": { "type": "string", "example": "2021-04-12T08:43:51.190022Z" }, "version": { "type": "string", "example": "2" } } } } } } }, "responses": { "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "properties": { "type": { "type": "string", "example": "authentication_error" }, "detail": { "type": "string", "example": "Authentication credentials were not provided." } } } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "properties": { "type": { "type": "string", "example": "throttled" }, "detail": { "type": "string", "example": "Request was throttled." } } } } } }, "400RequestError": { "description": "Bad Request", "content": { "application/json": { "schema": { "properties": { "type": { "type": "string", "example": "request_error" }, "detail": { "type": "object", "example": { "count": [ "A valid integer is required." ], "order_by": [ "value is not a valid choice." ] } } } } } } } } } } ```