> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills resources

Box Skills are designed to allow custom processing of files uploaded to Box, with the aim of enhancing the underlying metadata of the file.

## Keyword Skill Card

A skill card that contains a set of keywords.

<Accordion title="Attributes and example">
  | Property           | Type              | Required | Description                                                                                     |
  | ------------------ | ----------------- | -------- | ----------------------------------------------------------------------------------------------- |
  | `created_at`       | `string`          | No       | The optional date and time this card was created at.                                            |
  | `type`             | `enum<string>`    | Yes      | The value will always be `skill_card`. Available options: `skill_card`.                         |
  | `skill_card_type`  | `enum<string>`    | Yes      | The value will always be `keyword`. Available options: `keyword`.                               |
  | `skill_card_title` | `object`          | No       | The title of the card.                                                                          |
  | `skill`            | `object`          | Yes      | The service that applied this metadata.                                                         |
  | `invocation`       | `object`          | Yes      | The invocation of this service, used to track which instance of a service applied the metadata. |
  | `entries`          | array of `object` | Yes      | An list of entries in the metadata card.                                                        |

  ```json Example theme={null}
  {
    "created_at": "2018-04-13T13:53:23-07:00",
    "type": "skill_card",
    "skill_card_type": "keyword",
    "skill_card_title": {
      "code": "labels",
      "message": "Labels"
    },
    "skill": {
      "type": "service",
      "id": "image-recognition-service"
    },
    "invocation": {
      "type": "skill_invocation",
      "id": "image-recognition-service-123"
    },
    "entries": [
      {
        "text": "keyword1"
      }
    ]
  }
  ```
</Accordion>

## Skills metadata instance

The metadata assigned to an item for Box Skills.

<Accordion title="Attributes and example">
  | Property       | Type                      | Required | Description                                                                                                                               |
  | -------------- | ------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
  | `$canEdit`     | `boolean`                 | No       | Whether the user can edit this metadata.                                                                                                  |
  | `$id`          | `string`                  | No       | A UUID to identify the metadata object.                                                                                                   |
  | `$parent`      | `string`                  | No       | An ID for the parent folder.                                                                                                              |
  | `$scope`       | `string`                  | No       | An ID for the scope in which this template has been applied.                                                                              |
  | `$template`    | `string`                  | No       | The name of the template.                                                                                                                 |
  | `$type`        | `string`                  | No       | A unique identifier for the "type" of this instance. This is an internal system property and should not be used by a client application.  |
  | `$typeVersion` | `integer`                 | No       | The last-known version of the template of the object. This is an internal system property and should not be used by a client application. |
  | `$version`     | `integer`                 | No       | The version of the metadata object. Starts at 0 and increases every time a user-defined property is modified.                             |
  | `cards`        | array of `Box Skill card` | No       | A list of Box Skill cards that have been applied to this file.                                                                            |

  ```json Example theme={null}
  {
    "$canEdit": true,
    "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
    "$parent": "folder_59449484661,",
    "$scope": "enterprise_27335",
    "$template": "properties",
    "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
    "$typeVersion": 2,
    "$version": 1,
    "cards": [
      {
        "created_at": "2018-04-13T13:53:23-07:00",
        "type": "skill_card",
        "skill_card_type": "keyword",
        "skill_card_title": {
          "code": "labels",
          "message": "Labels"
        },
        "skill": {
          "type": "service",
          "id": "image-recognition-service"
        },
        "invocation": {
          "type": "skill_invocation",
          "id": "image-recognition-service-123"
        },
        "entries": [
          {
            "text": "keyword1"
          }
        ]
      }
    ]
  }
  ```
</Accordion>

## Status Skill Card

A Box Skill metadata card that puts a status message in the metadata sidebar.

<Accordion title="Attributes and example">
  | Property           | Type           | Required | Description                                                                                                                                                     |
  | ------------------ | -------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `created_at`       | `string`       | No       | The optional date and time this card was created at.                                                                                                            |
  | `type`             | `enum<string>` | Yes      | The value will always be `skill_card`. Available options: `skill_card`.                                                                                         |
  | `skill_card_type`  | `enum<string>` | Yes      | The value will always be `status`. Available options: `status`.                                                                                                 |
  | `skill_card_title` | `object`       | No       | The title of the card.                                                                                                                                          |
  | `status`           | `object`       | Yes      | Sets the status of the skill. This can be used to show a message to the user while the Skill is processing the data, or if it was not able to process the file. |
  | `skill`            | `object`       | Yes      | The service that applied this metadata.                                                                                                                         |
  | `invocation`       | `object`       | Yes      | The invocation of this service, used to track which instance of a service applied the metadata.                                                                 |

  ```json Example theme={null}
  {
    "created_at": "2018-04-13T13:53:23-07:00",
    "type": "skill_card",
    "skill_card_type": "status",
    "skill_card_title": {
      "code": "status",
      "message": "Status"
    },
    "status": {
      "code": "success",
      "message": "We're preparing to process your file. Please hold on!"
    },
    "skill": {
      "type": "service",
      "id": "image-recognition-service"
    },
    "invocation": {
      "type": "skill_invocation",
      "id": "image-recognition-service-123"
    }
  }
  ```
</Accordion>

## Timeline Skill Card

A Box Skill metadata card that places a list of images on a timeline.

<Accordion title="Attributes and example">
  | Property           | Type              | Required | Description                                                                                     |
  | ------------------ | ----------------- | -------- | ----------------------------------------------------------------------------------------------- |
  | `created_at`       | `string`          | No       | The optional date and time this card was created at.                                            |
  | `type`             | `enum<string>`    | Yes      | The value will always be `skill_card`. Available options: `skill_card`.                         |
  | `skill_card_type`  | `enum<string>`    | Yes      | The value will always be `timeline`. Available options: `timeline`.                             |
  | `skill_card_title` | `object`          | No       | The title of the card.                                                                          |
  | `skill`            | `object`          | Yes      | The service that applied this metadata.                                                         |
  | `invocation`       | `object`          | Yes      | The invocation of this service, used to track which instance of a service applied the metadata. |
  | `duration`         | `integer`         | No       | An total duration in seconds of the timeline.                                                   |
  | `entries`          | array of `object` | Yes      | A list of entries on the timeline.                                                              |

  ```json Example theme={null}
  {
    "created_at": "2018-04-13T13:53:23-07:00",
    "type": "skill_card",
    "skill_card_type": "timeline",
    "skill_card_title": {
      "code": "Faces",
      "message": "Faces"
    },
    "skill": {
      "type": "service",
      "id": "image-recognition-service"
    },
    "invocation": {
      "type": "skill_invocation",
      "id": "image-recognition-service-123"
    },
    "duration": 1000,
    "entries": [
      {
        "text": "John",
        "appears": [
          {
            "start": 1,
            "end": 20
          }
        ],
        "image_url": "https://example.com/image1.jpg"
      }
    ]
  }
  ```
</Accordion>

## Transcript Skill Card

A Box Skill metadata card that adds a transcript to a file.

<Accordion title="Attributes and example">
  | Property           | Type              | Required | Description                                                                                         |
  | ------------------ | ----------------- | -------- | --------------------------------------------------------------------------------------------------- |
  | `created_at`       | `string`          | No       | The optional date and time this card was created at.                                                |
  | `type`             | `enum<string>`    | Yes      | The value will always be `skill_card`. Available options: `skill_card`.                             |
  | `skill_card_type`  | `enum<string>`    | Yes      | The value will always be `transcript`. Available options: `transcript`.                             |
  | `skill_card_title` | `object`          | No       | The title of the card.                                                                              |
  | `skill`            | `object`          | Yes      | The service that applied this metadata.                                                             |
  | `invocation`       | `object`          | Yes      | The invocation of this service, used to track which instance of a service applied the metadata.     |
  | `duration`         | `integer`         | No       | An optional total duration in seconds. Used with a `skill_card_type` of `transcript` or `timeline`. |
  | `entries`          | array of `object` | Yes      | An list of entries for the card. This represents the individual entries of the transcription.       |

  ```json Example theme={null}
  {
    "created_at": "2018-04-13T13:53:23-07:00",
    "type": "skill_card",
    "skill_card_type": "transcript",
    "skill_card_title": {
      "code": "my_transcripts",
      "message": "My Transcripts"
    },
    "skill": {
      "type": "service",
      "id": "transciption-service"
    },
    "invocation": {
      "type": "skill_invocation",
      "id": "transciption-service-123"
    },
    "duration": 1000,
    "entries": [
      {
        "text": "Hi, and welcome to this video...",
        "appears": [
          {
            "start": 1
          }
        ]
      }
    ]
  }
  ```
</Accordion>
