DocumentationRecipesReferenceGraphQLChangelog
Log In

Kili data format

The Kili API export is a list of assets and annotations. The default export type is a JSON file, with Google API format (jsonResponse). The jsonResponse structure varies per the different asset types and jobs used.

For generic jsonResponse structure, refer to General structure for exported assets.

jsonResponse examples

For detailed descriptions of specific jsonResponse examples, refer to these topics:

For information on other available export formats, refer to Exporting project data.

General structure for exported assets

Each exported asset is structured as follows:

ParameterDescription
idUnique identifier of the asset in the Kili database
contentContents of the asset or URL to the asset
externalIdExternal identifier of the asset, set when uploading asset. Single brackets in identifiers are not accepted; all brackets have to be closed
honeypotMarkin the case of a Honeypot type asset, value of the correspondence between the labels and the target. In the case of an asset that is not of Honeypot type, the field is null
isHoneypot (optional)Indicates whether this asset is a Honeypot
isUsedForConsensus (optional)Boolean indicating whether the asset is used for Consensus
jsonMetadataAsset metadata, i.e. additional information that can be shown during the labeling process. For details, refer to Project JSON parameters list
statusStatus of the asset. It can take the following values: TODO, ONGOING, LABELED, REVIEWED. For details, refer to Asset lifecycle
totalSecondsToLabelLabeling duration, expressed in seconds
updatedAtDate of the last modification of the asset
labelsThe list of asset labels. Each label is structured like this

Label structure

ParameterDescription
authorJSON object that contains the following parameters:
-email: Author's e-mail
-id: Author's Kili ID
- name: Author's name
idUnique identifier of the label in the Kili database
consensusMarkIn the case of an asset used for consensus, agreement note between annotators
createdAtDate of creation of the label
isLatestLabelForUserBoolean flagging whether the label is the latest submitted label for this asset for the user
jsonResponseList of label annotations. Refer to jsonResponse examples
labelTypeType of the label used to identify if the label is a prediction (made by a model), an ordinary label (made by an annotator, DEFAULT in this case) or a review (carried out by a reviewer). It can take the following values: PREDICTION, DEFAULT, REVIEW, AUTOSAVE. For details, refer to Asset lifecycle
skippedBoolean indicating whether the label was skipped

Sample exported asset

[
  {
    content:
      "https://cloud.kili-technology.com/api/label/v2/files?id=testContent",
    externalId: "Asset 1",
    id: "ckh1sfsdfkfd0756qdfe1uio",
    jsonMetadata: {},
    labels: [
      {
        author: {
          email: "[email protected]",
          id: "user-0",
          name: "Jean",
        },
        createdAt: "2020-11-03T09:47:00.104Z",
        jsonResponse: {},
        labelType: "PREDICTION",
        modelName: "relation-model-v0.0.1",
        skipped: false,
      },
    ],
  },
];

For examples of how you can use the jsonResponse string, refer to these recipes: