---
title: deleteRecord
framework: CKTool JS
role: symbol
role_heading: Instance Method
platforms: [cktool js 1.2.15+]
path: cktooljs/promisesapi/deleterecord
---

# deleteRecord

Deletes a single record.

## Declaration

```data
CancellablePromise deleteRecord(
	DeleteRecordParams params
);
```

## Parameters

- `params`: A dictionary as described in the Discussion section.

## Return Value

Return Value A CancellablePromise with the following resolutions.

## Discussion

Discussion If the promise is successful, it will resolve with one of the following dictionaries: { statusCode: 204 } The promise may reject and throw the following: DocumentedResponseError, if the HTTP status code is 421. The result member will be a dictionary conforming to AuthenticationRequiredError. DocumentedResponseError, if the HTTP status code is none of the above and in the range 400 to 599. The result member will be a dictionary conforming to RequestError. ValidationError, if the parameters to the method are incorrect. A FetchError descendant, if there is a problem with the network request. A reference to the request object can be used to examine the underlying cause. Discussion The params dictionary has the following properties: dictionary DeleteRecordParams {   string containerId;   CKEnvironment environment;   string databaseType;   string zoneName;   string recordName; } containerId: The container identifier. See Container. environment: The container environment. For valid values, see CKEnvironment. databaseType: The database type. For valid values, see CKDatabaseType. zoneName: The zone name. See CKDBZone. recordName: The record name. See CKDBRecord. If the operation completes successfully, the server returns a success response. Node.js example:

import { createConfiguration } from "@apple/cktool.target.nodejs"; import {   CKDatabaseType,   CKEnvironment,   PromisesApi } from "@apple/cktool.database";

// These parameters are commonly passed to // operations on records. const defaultParams = {   containerId: "YOUR_CONTAINER_ID",   environment: CKEnvironment.DEVELOPMENT,   databaseType: CKDatabaseType.PUBLIC,   zoneName: "_defaultZone", };

try {   const api = new PromisesApi({     configuration: createConfiguration(),     security: {       // You can obtain tokens from CloudKit Console.       "ManagementTokenAuth": "YOUR_MANAGEMENT_TOKEN",       "UserTokenAuth": "YOUR_USER_TOKEN"     },   });   await api.deleteRecord({     ...defaultParams,     recordName: "RECORD_NAME"   }); } catch(ex) {   // Handle error }

## See Also

### Record Management

- [acceptRecord](cktooljs/promisesapi/acceptrecord.md)
- [createRecord](cktooljs/promisesapi/createrecord.md)
- [deleteRecordsByQuery](cktooljs/promisesapi/deleterecordsbyquery.md)
- [getRecord](cktooljs/promisesapi/getrecord.md)
- [lookupRecords](cktooljs/promisesapi/lookuprecords.md)
- [queryRecordChanges](cktooljs/promisesapi/queryrecordchanges.md)
- [queryRecords](cktooljs/promisesapi/queryrecords.md)
- [resolveRecord](cktooljs/promisesapi/resolverecord.md)
- [updateRecord](cktooljs/promisesapi/updaterecord.md)
