Dataset / createDataset
TypeScript
Create a new dataset.
Request parameters
{
/** The dataset's name. */
name: string,
/** A description of the dataset. */
description: string,
/** If true, all Decthings users can find and use this dataset. Defaults to false. */
publicAccess?: boolean,
/** Tags are used to specify things like dataset type (image classification, etc.) and other metadata. */
tags?: {
tag: string,
value: string
}[],
/**
* Each key contains separate data, allowing you to mix multiple types. For example, for an image dataset you
* could have an "image" of type image, and "label" of type string.
*/
keys: DecthingsParameterDefinition[]
}
Response
{
/** If successful. One of "result" and "error" will be present. */
result?: {
/** A unique identifier which you should use in subsequent API calls. */
datasetId: string,
/** The initial version identifier. */
datasetVersionId: string
},
/** If failed */
error?: {
code: 'name_already_used' | 'organization_not_found' | 'access_denied' | 'quota_exceeded' | 'bad_credentials' | 'too_many_requests' | 'payment_required' | 'unknown'
} | {
code: 'invalid_parameter',
parameterName: string,
reason: string
}
}
Example
Following the installation guide to setup the Decthings API for TypeScript. Add your parameters to the following code and run it in Node.js, or in a browser by using a bundler.
The code reads your API key from file. Create an API key and save it to the file "auth.txt". Keep your key safe!
import * as fs from 'fs'
import { DecthingsClient } from '@decthings/api-client'
let apiKey = fs.readFileSync('./auth.txt').toString().trim()
let client = new DecthingsClient({ apiKey })
async function main() {
try {
let response = await client.dataset.createDataset({
name: /* Add name here */,
description: /* Add description here */,
keys: /* Add keys here */
})
if (result.error) {
// Decthings sent us an error
console.log(response.error)
} else {
// Success!
console.log(response.result)
}
}
catch (e) {
// Client throws an error on connection issues. The function may or may not have succeded
console.log(e)
}
}
main()