Adobe Creative Cloud Libraries API

Read and manage Creative Cloud Libraries, their elements, representations, bookmarks, and public library shares on behalf of a Creative Cloud user.

OpenAPI Specification

adobe-cc-libraries-api-openapi.json Raw ↑
{
    "swagger": "2.0",
    "info": {
        "version": "0.1",
        "title": "Adobe CC Libraries APIs Test"
    },
    "host": "cc-libraries.adobe.io",
    "basePath": "/",
    "tags": [
        {
            "name": "Library Service",
            "description": "App-facing APIs for Adobe CC Libraries."
        },
        {
            "name": "Library Service - Bookmarks",
            "description": "App-facing APIs specifically for Adobe CC Library Bookmarks."
        },
        {
            "name": "Library Service - Public",
            "description": "App-facing APIs specifically for Adobe CC Public Libraries."
        }
    ],
    "schemes": [
        "https"
    ],
    "paths": {
        "/api/v1/libraries": {
            "get": {
                "tags": [
                    "Library Service"
                ],
                "summary": "Retrieve libraries for a user",
                "description": "",
                "operationId": "getLibraries",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "orderBy",
                        "in": "query",
                        "description": "Sorting option for the response list. \nReverse sort is enabled with a - character ahead of the sorting vector. (ex: -modified_date) \nMulti-vector sort is enabled by including multiple vectors separated by commas. (ex: name,-modified_date) \nSorting is not available for public libraries. \n\n**Possible Values** \n- `name`: Sort by the name.\n- `modified_date`: Sort by the last modified date.",
                        "required": false,
                        "type": "string",
                        "default": "-modified_date"
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "description": "The first result to include for a paged response, 0-based. \nThis parameter is required if a limit is specified. \nPaging is not available for public libraries.",
                        "required": false,
                        "type": "string",
                        "default": "0",
                        "minimum": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The number of libraries to return for a paged response. \nPaging is not available for public libraries. \n\n**Possible Values** \n- Min: 1. \n- Max: 10.",
                        "required": false,
                        "type": "string",
                        "default": "10",
                        "minimum": 1
                    },
                    {
                        "name": "owner",
                        "in": "query",
                        "description": "Customize which libraries to include in the response, based on ownership. \n\n**Possible Values** \n- `private`: Libraries owned by the user. \n- `incoming`: Libraries shared with the user. This may include person-to-person shared libraries as well as libraries accessible via group ownership. \n- `public`: Libraries the user has followed. \n- `all`: All of the above except public.",
                        "required": false,
                        "type": "string",
                        "default": "all"
                    },
                    {
                        "name": "selector",
                        "in": "query",
                        "description": "Customize which data sets to include in the response. \nAll applications using this API will need the same sets of data, but different applications will not require different depths of details. \nCallers can specify a comma-separated list of selectors to either limit or expand the default response. The absence of selectors will yield the default response, while including selectors gives callers access to building-blocks to compose the response to their needs. \n\n**Possible Values** \n- `default`: Base data, use this to build out custom response. \n- `details`: All available data for in-depth display. \n- `collaboration`: Add collaboration data to a lesser-scoped selector. \n- `groups`: Include group data in the response. \n- `rendition_grid`: Provides a set of links to library element image renditions, which can be combined to create a thumbnail for the library. The `main` rendition link is the first asset uploaded to the library, while the `tiles` contain the three most recently updated library elements' rendition links. \n",
                        "required": false,
                        "type": "string",
                        "default": "default"
                    },
                    {
                        "name": "toolkit",
                        "in": "query",
                        "description": "Customize which toolkit libraries to include in the response. \n\n**Possible Values**- `all`: Include all toolkit libraries. \n- `none`: Do not include any toolkit libraries. \n- `<toolkit-id>`: Include libraries matching a specific toolkit-id, or comma-separated list of toolkit-ids.",
                        "required": false,
                        "type": "string",
                        "default": "none"
                    },
                    {
                        "name": "authorization",
                        "in": "header",
                        "description": "An access token issued by Adobe IMS. In the header, the access token must be preceded by `Bearer `.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-api-key",
                        "in": "header",
                        "description": "The API key assigned to your API client account when you signed up.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-request-id",
                        "in": "header",
                        "description": "A unique request identifier that you define. Used by Adobe Support to trace the request in logs. This header is automatically generated by the server and returned in the response if you do not set it explicitly.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LibrariesInfo"
                        }
                    },
                    "400": {
                        "description": "Bad Request: The request is invalid.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized: Authorization Token is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden: API Key is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "406": {
                        "description": "Not Acceptable: The requested format is not accepted for this method.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error: We had a problem with our server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable: We are temporarily offline for maintenance, please try again later.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Library Service"
                ],
                "summary": "Create a library",
                "description": "",
                "operationId": "createLibraries",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "invocation_mode",
                        "in": "query",
                        "description": "Specifies the processing mode to invoke this request process with. \n\n**Possible Values** \n- `sync`: API call is processed synchronously. The response is delivered when processing is complete, unless there's a timeout. \n- `async`: The async monitor response is immediately returned and request processing occurs asynchronously. The caller is responsible for polling that endpoint until completion. \n- `sync,async`: (Default) Synchronous processing of the request is attempted. When the processing extends past 5000ms, the async monitor response is returned. The monitor URL should be polled until the request is complete.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/CreateLibraryPayload"
                        }
                    },
                    {
                        "name": "authorization",
                        "in": "header",
                        "description": "An access token issued by Adobe IMS. In the header, the access token must be preceded by `Bearer `.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-api-key",
                        "in": "header",
                        "description": "The API key assigned to your API client account when you signed up.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-request-id",
                        "in": "header",
                        "description": "A unique request identifier that you define. Used by Adobe Support to trace the request in logs. This header is automatically generated by the server and returned in the response if you do not set it explicitly.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/DbLibraryInfo"
                        }
                    },
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/DbLibraryInfo"
                        }
                    },
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/DbLibraryInfo"
                        }
                    },
                    "400": {
                        "description": "Bad Request: The request is invalid.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized: Authorization Token is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden: API Key is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "406": {
                        "description": "Not Acceptable: The requested format is not accepted for this method.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error: We had a problem with our server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable: We are temporarily offline for maintenance, please try again later.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/libraries/bookmarks": {
            "get": {
                "tags": [
                    "Library Service - Bookmarks"
                ],
                "summary": "Retrieves all bookmarks for a user",
                "description": "",
                "operationId": "getBookmarks",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "authorization",
                        "in": "header",
                        "description": "An access token issued by Adobe IMS. In the header, the access token must be preceded by `Bearer `.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-api-key",
                        "in": "header",
                        "description": "The API key assigned to your API client account when you signed up.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-request-id",
                        "in": "header",
                        "description": "A unique request identifier that you define. Used by Adobe Support to trace the request in logs. This header is automatically generated by the server and returned in the response if you do not set it explicitly.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DbLibraryBookmarks"
                        }
                    },
                    "400": {
                        "description": "Bad Request: The request is invalid.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized: Authorization Token is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden: API Key is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found: The specified resource could not be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "406": {
                        "description": "Not Acceptable: The requested format is not accepted for this method.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error: We had a problem with our server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable: We are temporarily offline for maintenance, please try again later.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Library Service - Bookmarks"
                ],
                "summary": "Add bookmarks for user, one or multiple",
                "description": "",
                "operationId": "addLibraryBookmarks",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/BookmarksPayload"
                        }
                    },
                    {
                        "name": "authorization",
                        "in": "header",
                        "description": "An access token issued by Adobe IMS. In the header, the access token must be preceded by `Bearer `.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-api-key",
                        "in": "header",
                        "description": "The API key assigned to your API client account when you signed up.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-request-id",
                        "in": "header",
                        "description": "A unique request identifier that you define. Used by Adobe Support to trace the request in logs. This header is automatically generated by the server and returned in the response if you do not set it explicitly.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/DbLibraryBookmarks"
                        }
                    },
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/DbLibraryBookmarks"
                        }
                    },
                    "400": {
                        "description": "Bad Request: The request is invalid.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized: Authorization Token is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden: API Key is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found: The specified resource could not be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "406": {
                        "description": "Not Acceptable: The requested format is not accepted for this method.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error: We had a problem with our server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable: We are temporarily offline for maintenance, please try again later.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/libraries/bookmarks/{bookmarkId}": {
            "put": {
                "tags": [
                    "Library Service - Bookmarks"
                ],
                "summary": "Update an existing bookmark by ID",
                "description": "",
                "operationId": "putLibraryBookmark",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "bookmarkId",
                        "in": "path",
                        "description": "The ID of the requested bookmark.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/BookmarksPayload"
                        }
                    },
                    {
                        "name": "authorization",
                        "in": "header",
                        "description": "An access token issued by Adobe IMS. In the header, the access token must be preceded by `Bearer `.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-api-key",
                        "in": "header",
                        "description": "The API key assigned to your API client account when you signed up.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-request-id",
                        "in": "header",
                        "description": "A unique request identifier that you define. Used by Adobe Support to trace the request in logs. This header is automatically generated by the server and returned in the response if you do not set it explicitly.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DbLibraryBookmarks"
                        }
                    },
                    "400": {
                        "description": "Bad Request: The request is invalid.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized: Authorization Token is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden: API Key is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found: The specified resource could not be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "406": {
                        "description": "Not Acceptable: The requested format is not accepted for this method.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error: We had a problem with our server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable: We are temporarily offline for maintenance, please try again later.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Library Service - Bookmarks"
                ],
                "summary": "Remove a bookmark",
                "description": "",
                "operationId": "removeLibraryBookmark",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "bookmarkId",
                        "in": "path",
                        "description": "The ID of the requested bookmark.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "authorization",
                        "in": "header",
                        "description": "An access token issued by Adobe IMS. In the header, the access token must be preceded by `Bearer `.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-api-key",
                        "in": "header",
                        "description": "The API key assigned to your API client account when you signed up.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "x-request-id",
                        "in": "header",
                        "description": "A unique request identifier that you define. Used by Adobe Support to trace the request in logs. This header is automatically generated by the server and returned in the response if you do not set it explicitly.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request: The request is invalid.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized: Authorization Token is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden: API Key is not accepted.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found: The specified resource could not be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "406": {
                        "description": "Not Acceptable: The requested format is not accepted for this method.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error: We had a problem with our server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable: We are temporarily offline for maintenance, please try again later.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/libraries/{libraryId}": {
            "get": {
                "tags": [
                    "Library Service"
                ],
                "summary": "Retrieve a specific library",
                "description": "",
                "operationId": "getLibrary",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "libraryId",
                        "in": "path",
                        "description": "The ID of the requested library. \nFor private libraries, the `library_urn` should be used. (ex: urn:aaid:sc:US:1c2327c6-ca3a-8f74-11ac-d5bca13a8fc7) \nFor public libraries, the public library `id` should be used. (ex: 1UTOX1PQ9YWOTFIPUEQUV0Z2XFTFFF)",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "selector",
                        "in": "query",
                        "description": "Customize which data sets to include in the response. \nAll applications using this API will need the same sets of data, but different applications will not require different depths of details. \nCallers can specify a comma-separated list of selectors to either limit or expand the default response. The absence of selectors will yield the default response, while including selectors gives callers access to building-blocks to compose the response to their needs. \n\n**Possible Values** \n- `default`: Base data, use this to build out custom response. \n- `details`: All available data for in-depth display. \n- `collaboration`: Add collaboration data to a lesser-scoped selector. \n- `groups`: Include group data in the response. \n- `rendition_grid`: Provides a set of links to library element image renditions, which can be combined to create a thumbnail for the library. The `main` rendition link is the first asset uploaded to the library, while the `tiles` contain the three most recently updated library elements' rendition links. \n",
                        "required": false,
                        "type": "string",
                        "default": "default"
                    },
                    {
                        "name": "libraryVersion",
                        "in": "query",
                        "description": "Retrieve a cached library response (if available) for the specified version. \nTo ensure the

# --- truncated at 32 KB (220 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe/refs/heads/main/openapi/_original/adobe-cc-libraries-api-openapi.json