decthings

Dataset / getDatasets


Retrieve information about datasets. If the requested dataset wasn't returned, it means it doesn't exist (or you don't have access to it).

Request parameters

{
    /** Number of items from the results to skip. Defaults to 0. */
    offset?: number,
    /** Max number of items to return. Defaults to 20. */
    limit?: number,
    /** If specified, determines which items to retrieve. */
    filter?: {
        owners?: string[],
        tags?: {
            tag: string,
            value: string
        }[],
        ids?: string[],
        names?: string[],
        searchName?: string
    },
    /** Specifies a field in the returned items to sort by. Defaults to "createdAt". */
    sort?: string,
    sortDirection?: 'asc' | 'desc'
}

Response

{
    /** If successful. One of "result" and "error" will be present. */
    result?: {
        datasets: Dataset[],
        /** The total number of datasets that matched the filter. */
        total: number,
        offset: number,
        limit: number
    },

    /** If failed */
    error?: {
        code: 'bad_credentials' | 'too_many_requests' | 'payment_required' | 'unknown'
    } | {
        code: 'invalid_parameter',
        parameterName: string,
        reason: string
    }
}

Where "Dataset" is defined as:

export type Dataset = {
    id: string,
    name: string,
    description: string,
    publicAccess: boolean,
    createdAt: number,
    tags: {
        tag: string,
        value: string
    }[],
    owner: {
        type: 'user',
        userId: string,
        username: string
    } | {
        type: 'organization',
        organizationId: string,
        organizationName: string
    },
    access: 'read' | 'readwrite',
    keys: DecthingsParameterDefinition[],
    entries: {
        count: number,
        totalByteSize: number
    },
    needsReviewEntries: {
        count: number,
        totalByteSize: number
    },
    entriesWaitingToBeDeleted: {
        count: number,
        totalByteSize: number
    },
    /**
     * The version identifier will be updated every time the data in the dataset changes, for example when an element
     * is added. It can be used to prevent synchronization issues if multiple sources edit a dataset simultaneously.
     */
    versionId: 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.getDatasets()
        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()

Product

  • Documentation
  • Pricing
  • API reference
  • Guides

Company

  • Support

Get going!

Sign up
  • Terms and conditions
  • Privacy policy
  • Cookie policy
  • GitHub
  • LinkedIn

This website uses cookies to enhance the experience.

Learn more