# Library

> Interface in domain **Libraries**

- HTML: [Library.html](Library.html)
- Raw SDL: [Library.sdl](Library.sdl)
- Covered by: [llms.txt](../llms.txt)

`LibraryInterface` for `Library` returnable types.

## Fields

- `id`: `ID!` — `Library` Id.
- `name`: `String!` — `Library` name.
- `color`: `RgbaColor` — `Library` color.
- `assetCount`: `Int` _(deprecated)_ — Amount of `Assets` contained in this `Library`.
- `metadataFields`: `[MetadataField]` _(deprecated)_ — Retrieve list of all `MetadataFields` belonging to this `Library`.
- `assets` (`limit`: `Int`, `page`: `Int`, `query`: `AssetQueryInput`): `AssetItems!` — Search or list `Assets` in this `Library`.
- `collections` (`limit`: `Int`, `page`: `Int`): `CollectionItems!` — List `Collection` type items within a `Library`.
- `browse`: `LibraryRootFolder!` — Browse the `Library`'s `SubFolderItems` and `AssetItems`.
- `collaborators`: `LibraryCollaborators` — `Library` collaborators.
- `currentUserPermissions`: `LibraryUserPermissions!` — Check current `User` permissions in a specific `Library`.
- `workflow`: `Workflow!` _(beta)_ — The `Workflow` belonging to the given `Library`.
- `customMetadataProperties`: `[CustomMetadataProperty!]!` — List of `CustomMetadataProperty` items belonging to a `Library`.
- `searchAssets` (`input`: `AssetSearchInput!`): `LibrarySearchAssetsResult!` — Search this `Library`'s/`Workspace`'s `Assets` with fully typed filters. Backed by our search index rather than the primary database — results are eventually consistent, so an asset just created, edited, or deleted can take a few minutes (up to around 10) to be reflected.
- `assetsByExternalId` (`externalId`: `ID!`, `limit`: `Int`, `cursor`: `String`): `LibraryAssetsByExternalIdResult!` — Fetch `Assets` in this `Library` by their externalId. Requires edit access to the `Library`.
- `licenses`: `[License]` — Retrieve list of all `Licenses` belonging to this `Library`.

## Related mutations

- [`addLibraryAssetTargets`](../mutation/addLibraryAssetTargets.md)
- [`createGuidelineDocumentLibrary`](../mutation/createGuidelineDocumentLibrary.md)
- [`deleteGuidelineDocumentLibrary`](../mutation/deleteGuidelineDocumentLibrary.md)
- [`hideGuidelineDocumentLibraryFromNavigation`](../mutation/hideGuidelineDocumentLibraryFromNavigation.md)
- [`removeLibraryAssetTargets`](../mutation/removeLibraryAssetTargets.md)
- [`setLibraryAssetTargets`](../mutation/setLibraryAssetTargets.md)
- [`showGuidelineDocumentLibraryInNavigation`](../mutation/showGuidelineDocumentLibraryInNavigation.md)
- [`updateGuidelineDocumentLibrary`](../mutation/updateGuidelineDocumentLibrary.md)

## Reach via

Example queries that can return this type from the root `Query`.

### `library`

```graphql
query Library {
  library(id: "…") {
    __typename
    assets {
      total
      page
      limit
      hasNextPage
      items {
        __typename
        title
        id
        alternativeText
        author
        attachments { id }
        availability { from }
        ... on Audio {
          previewUrl
          thumbnailUrl
          filename
          downloadUrl
        }
        ... on Document {
          previewUrl
          thumbnailUrl
          filename
          downloadUrl
        }
        ... on EmbeddedContent {
          previewUrl
          thumbnailUrl
          isDecorative
        }
        ... on File {
          previewUrl
          thumbnailUrl
          filename
          downloadUrl
        }
        ... on Image {
          previewUrl
          thumbnailUrl
          filename
          downloadUrl
        }
        ... on Video {
          previewUrl
          thumbnailUrl
          filename
          bitrate
        }
      }
    }
    browse {
      assets {
        total
        page
        limit
        hasNextPage
        items { id }
      }
      folders {
        total
        page
        limit
        hasNextPage
        items { id }
      }
    }
    collaborators {
      users {
        total
        page
        limit
        hasNextPage
        items { id }
      }
    }
    collections {
      total
      page
      limit
      hasNextPage
      items {
        name
        id
        assets {
          total
          page
          limit
          hasNextPage
          items { id }
        }
        currentUserPermissions { canAddAssets }
      }
    }
    color {
      alpha
      blue
      green
      red
    }
    currentUserPermissions {
      canCreateAssets
      canCreateCollections
      canViewCollaborators
    }
    customMetadataProperties {
      name
      id
      createdAt
      defaultValue
      forbiddenDependeePropertyIds
      helpText
      creator {
        __typename
        name
        id
      }
      dependency {
        __typename
        propertyId
        type
        ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals {
          propertyOptionId
        }
        ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf {
          propertyOptionIds
        }
      }
      modifier {
        __typename
        name
        id
      }
      permissions {
        basic { permissionLevel }
        custom { permissionLevel }
      }
      type {
        __typename
        name
        ... on CustomMetadataPropertyTypeCatalog {
          allowedLinkedColumnIds
          allowMultiSelect
        }
      }
    }
    id
    licenses {
      title
      id
      addByDefault
      license
      requireConsensus
    }
    name
    workflow {
      id
      statuses {
        name
        id
        enterRules
        assignedUsers { id }
        checklistPresets { id }
      }
    }
  }
}
```

Raw: [`Library-Library.sdl`](../examples/Library-Library.sdl)

### `brand › libraries`

```graphql
query BrandLibraries {
  brand(id: "…") {
    libraries(limit: 25, page: 1) {
      items {
        __typename
        assets {
          total
          page
          limit
          hasNextPage
          items {
            __typename
            title
            id
            alternativeText
            author
            attachments { id }
            availability { from }
            ... on Audio {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on Document {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on EmbeddedContent {
              previewUrl
              thumbnailUrl
              isDecorative
            }
            ... on File {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on Image {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on Video {
              previewUrl
              thumbnailUrl
              filename
              bitrate
            }
          }
        }
        browse {
          assets {
            total
            page
            limit
            hasNextPage
            items { id }
          }
          folders {
            total
            page
            limit
            hasNextPage
            items { id }
          }
        }
        collaborators {
          users {
            total
            page
            limit
            hasNextPage
            items { id }
          }
        }
        collections {
          total
          page
          limit
          hasNextPage
          items {
            name
            id
            assets {
              total
              page
              limit
              hasNextPage
              items { id }
            }
            currentUserPermissions { canAddAssets }
          }
        }
        color {
          alpha
          blue
          green
          red
        }
        currentUserPermissions {
          canCreateAssets
          canCreateCollections
          canViewCollaborators
        }
        customMetadataProperties {
          name
          id
          createdAt
          defaultValue
          forbiddenDependeePropertyIds
          helpText
          creator {
            __typename
            name
            id
          }
          dependency {
            __typename
            propertyId
            type
            ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals {
              propertyOptionId
            }
            ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf {
              propertyOptionIds
            }
          }
          modifier {
            __typename
            name
            id
          }
          permissions {
            basic { permissionLevel }
            custom { permissionLevel }
          }
          type {
            __typename
            name
            ... on CustomMetadataPropertyTypeCatalog {
              allowedLinkedColumnIds
              allowMultiSelect
            }
          }
        }
        id
        licenses {
          title
          id
          addByDefault
          license
          requireConsensus
        }
        name
        workflow {
          id
          statuses {
            name
            id
            enterRules
            assignedUsers { id }
            checklistPresets { id }
          }
        }
      }
    }
  }
}
```

Raw: [`BrandLibraries-Library.sdl`](../examples/BrandLibraries-Library.sdl)

### `brands › libraries`

```graphql
query BrandsLibraries {
  brands {
    libraries(limit: 25, page: 1) {
      items {
        __typename
        assets {
          total
          page
          limit
          hasNextPage
          items {
            __typename
            title
            id
            alternativeText
            author
            attachments { id }
            availability { from }
            ... on Audio {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on Document {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on EmbeddedContent {
              previewUrl
              thumbnailUrl
              isDecorative
            }
            ... on File {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on Image {
              previewUrl
              thumbnailUrl
              filename
              downloadUrl
            }
            ... on Video {
              previewUrl
              thumbnailUrl
              filename
              bitrate
            }
          }
        }
        browse {
          assets {
            total
            page
            limit
            hasNextPage
            items { id }
          }
          folders {
            total
            page
            limit
            hasNextPage
            items { id }
          }
        }
        collaborators {
          users {
            total
            page
            limit
            hasNextPage
            items { id }
          }
        }
        collections {
          total
          page
          limit
          hasNextPage
          items {
            name
            id
            assets {
              total
              page
              limit
              hasNextPage
              items { id }
            }
            currentUserPermissions { canAddAssets }
          }
        }
        color {
          alpha
          blue
          green
          red
        }
        currentUserPermissions {
          canCreateAssets
          canCreateCollections
          canViewCollaborators
        }
        customMetadataProperties {
          name
          id
          createdAt
          defaultValue
          forbiddenDependeePropertyIds
          helpText
          creator {
            __typename
            name
            id
          }
          dependency {
            __typename
            propertyId
            type
            ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals {
              propertyOptionId
            }
            ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf {
              propertyOptionIds
            }
          }
          modifier {
            __typename
            name
            id
          }
          permissions {
            basic { permissionLevel }
            custom { permissionLevel }
          }
          type {
            __typename
            name
            ... on CustomMetadataPropertyTypeCatalog {
              allowedLinkedColumnIds
              allowMultiSelect
            }
          }
        }
        id
        licenses {
          title
          id
          addByDefault
          license
          requireConsensus
        }
        name
        workflow {
          id
          statuses {
            name
            id
            enterRules
            assignedUsers { id }
            checklistPresets { id }
          }
        }
      }
    }
  }
}
```

Raw: [`BrandsLibraries-Library.sdl`](../examples/BrandsLibraries-Library.sdl)
