Deleting Data Entities
Deleting Data Entities
This article describes how to delete data entities.
Note:Although not shown in the API examples below, you need to provide a valid access token with each API call. See Authenticating users and application clients for details.
Deleting an entity
Example Request/Response
Request:
Delete by UUID:
curl -X DELETE "https://api.usergrid.com/your-org/your-app/items/da4a50dc-38dc-11e2-b2e4-02e81adcf3d0"
Delete by ‘name’ property:
curl -X DELETE "https://api.usergrid.com/your-org/your-app/items/milk"
Response:
{
"action" : "delete",
"application" : "f34f4222-a166-11e2-a7f7-02e81adcf3d0",
"params" : { },
"path" : "/items",
"uri" : "http://api.usergrid.com/your-org/your-app/items",
"entities" : [ {
"uuid" : "328fe64a-19a0-11e3-8a2a-ebc6f49d1fc4",
"type" : "item",
"name" : "milk",
"created" : 1378766158500,
"modified" : 1378766158500,
"metadata" : {
"path" : "/items/328fe64a-19a0-11e3-8a2a-ebc6f49d1fc4"
},
"name" : "milk",
"price" : "3.25"
} ],
"timestamp" : 1378766172016,
"duration" : 324,
"organization" : "your-org",
"applicationName" : "your-app"
}
Request Syntax
curl -X DELETE https://api.usergrid.com/<org>/<app>/<collection>/<entity>
Parameters
Parameter | Description |
---|---|
org | Organization UUID or organization name |
app | Application UUID or application name |
collection | Collection UUID or collection name |
entity | Entity UUID or entity name |
This example uses the Apache Usergrid iOS SDK.
Example Request/Response
Request:
-(NSString*)deleteEntity {
//specify the entity type to be deleted
NSString *type = @"item";
//specify the uuid or name of the entity to be deleted
NSString *entityId = @"milk";
//we recommend you call ApigeeClient from your AppDelegate.
//for more information see the iOS SDK install guide: http://apigee.com/docs/app-services/content/installing-apigee-sdk-ios
//create an instance of AppDelegate
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
//call createEntity to initiate the API call
ApigeeClientResponse *response = [appDelegate.dataClient removeEntity:type entityID:entityId];
@try {
//success
}
@catch (NSException * e) {
//fail
}
}
Response:
{
"action" : "delete",
"application" : "f34f4222-a166-11e2-a7f7-02e81adcf3d0",
"params" : { },
"path" : "/items",
"uri" : "http://api.usergrid.com/your-org/your-app/items",
"entities" : [ {
"uuid" : "328fe64a-19a0-11e3-8a2a-ebc6f49d1fc4",
"type" : "item",
"name" : "milk",
"created" : 1378766158500,
"modified" : 1378766158500,
"metadata" : {
"path" : "/items/328fe64a-19a0-11e3-8a2a-ebc6f49d1fc4"
},
"name" : "milk",
"price" : "3.25"
} ],
"timestamp" : 1378766172016,
"duration" : 324,
"organization" : "your-org",
"applicationName" : "your-app"
}
SDK Method
(ApigeeClientResponse *)removeEntity: (NSString *)type entityID:(NSString *)entityID
Properties
Parameter | Description |
---|---|
type | The entity type being deleted |
entityID | The UUID or name of the entity to be removed |
This example uses the Apache Usergrid Android SDK.
Example Request/Response
Request:
//Create client entity
String ORGNAME = "your-org";
String APPNAME = "your-app";
ApigeeClient apigeeClient = new ApigeeClient(ORGNAME,APPNAME);
DataClient dataClient = apigeeClient.getDataClient();
String type = "item"; //entity type to be retrieved
String uuid = "b3aad0a4-f322-11e2-a9c1-999e12039f87";
//call removeEntityAsync to initiate the asynchronous API call
dataClient.removeEntityAsync(type, uuid, new ApiResponseCallback() {
//If removeEntityAsync fails, catch the error
@Override
public void onException(Exception e) {
// Error
}
//If removeEntityAsync is successful, handle the response object
@Override
public void onResponse(ApiResponse response) {
try {
if (response != null) {
// Success
}
} catch (Exception e) { //The API request returned an error
// Fail
}
}
});
Response:
{"action":"delete","application":"f34f4222-a166-11e2-a7f7-02e81adcf3d0","entities":[{"dataClient":{"accessToken":null,"apiUrl":"https://api.usergrid.com","applicationId":"your-app","clientId":null,"clientSecret":null,"currentOrganization":null,"loggedInUser":null,"organizationId":"your-org"},"type":"item","uuid":"d1511d7a-19a1-11e3-b02b-cd5b309a29fa","created":1378766854343,"name":"milk","modified":1378766854343,"metadata":{"path":"/items/d1511d7a-19a1-11e3-b02b-cd5b309a29fa"}}],"params":{},"path":"/items","rawResponse":"{
"action" : "delete",
"application" : "f34f4222-a166-11e2-a7f7-02e81adcf3d0",
"params" : { },
"path" : "/items",
"uri" : "http://api.usergrid.com/your-org/your-app/items",
"entities" : [ {
"uuid" : "d1511d7a-19a1-11e3-b02b-cd5b309a29fa",
"type" : "item",
"name" : "milk",
"created" : 1378766854343,
"modified" : 1378766854343,
"metadata" : {
"path" : "/items/d1511d7a-19a1-11e3-b02b-cd5b309a29fa"
},
"name" : "milk",
"price" : "3.25"
} ],
"timestamp" : 1378767852615,
"duration" : 276,
"organization" : "your-org",
"applicationName" : "your-app"
}
","uri":"http://api.usergrid.com/your-org/your-app/items","timestamp":1378767852615,"entityCount":1,"firstEntity":{"dataClient":{"accessToken":null,"apiUrl":"https://api.usergrid.com","applicationId":"your-app","clientId":null,"clientSecret":null,"currentOrganization":null,"loggedInUser":null,"organizationId":"your-org"},"type":"item","uuid":"d1511d7a-19a1-11e3-b02b-cd5b309a29fa","created":1378766854343,"name":"milk","modified":1378766854343,"metadata":{"path":"/items/d1511d7a-19a1-11e3-b02b-cd5b309a29fa"}},"lastEntity":{"dataClient":{"accessToken":null,"apiUrl":"https://api.usergrid.com","applicationId":"your-app","clientId":null,"clientSecret":null,"currentOrganization":null,"loggedInUser":null,"organizationId":"your-org"},"type":"item","uuid":"d1511d7a-19a1-11e3-b02b-cd5b309a29fa","created":1378766854343,"name":"milk","price" : "3.25","modified":1378766854343,"metadata":{"path":"/items/d1511d7a-19a1-11e3-b02b-cd5b309a29fa"}},"organization":"your-org","duration":276,"applicationName":"your-app"}
SDK Method
removeEntity(String entityType, String entityID)
Properties
Parameter | Description |
---|---|
entityType | The entity type of the entity to be deleted |
entityID | The UUID or name of the entity to be deleted |
This example uses the Apache Usergrid JavaScript (HTML5) SDK.
Example Request/Response
Request:
//create the basic client object
var dataClient = new Usergrid.Client({
orgName:'your-org',
appName:'your-app'
});
//specify the properties of the entity to be deleted
//type is required. UUID or name of the entity to be deleted is also required
var properties = {
client:client,
data:{'type':'item',
uuid:'39d25cca-03ad-11e3-a25d-71468ad53e11'
}
};
//create the entity object
var entity = new Usergrid.Entity(properties);
//call destroy() to initiate the API DELETE request
entity.destroy(function (error) {
if (error) {
// Error
} else {
// Success
}
});
Response:
The API will respond with 404 Resource Not Found.
SDK Method
entity.destroy(callback)
Parameters
Parameter | Description |
---|---|
callback | Callback function to handle the API response |
Example Request/Response
Request:
#Create a client object
usergrid_api = 'https://api.usergrid.com'
organization = 'your-org'
application = 'your-app'
client = Usergrid::Application.new "#{usergrid_api}/#{organization}/#{application}"
begin
client['items']['milk'].entity.delete
rescue
#fail
end
Response:
{
"action" : "delete",
"application" : "f34f4222-a166-11e2-a7f7-02e81adcf3d0",
"params" : { },
"path" : "/items",
"uri" : "http://api.usergrid.com/your-org/your-app/items",
"entities" : [ {
"uuid" : "328fe64a-19a0-11e3-8a2a-ebc6f49d1fc4",
"type" : "item",
"name" : "milk",
"created" : 1378766158500,
"modified" : 1378766158500,
"metadata" : {
"path" : "/items/328fe64a-19a0-11e3-8a2a-ebc6f49d1fc4"
},
"name" : "milk",
"price" : "3.25"
} ],
"timestamp" : 1378766172016,
"duration" : 324,
"organization" : "your-org",
"applicationName" : "your-app"
}
SDK Method
delete
This example uses the Apache Usergrid Node.js module.
Example Request/Response
Request:
//create the basic client object
var dataClient = new Usergrid.client({
orgName:'your-org',
appName:'your-app'
});
//specify the properties of the entity to be deleted
//type is required. UUID or name of the entity to be deleted is also required
var properties = {
client:dataClient,
data:{
'type':'item',
'uuid':'39d25cca-03ad-11e3-a25d-71468ad53e11'
}
};
//create the entity object
var entity = new Usergrid.entity(properties);
//call destroy() to initiate the API DELETE request
entity.destroy(function (error) {
if (error) {
// Error
} else {
// Success
}
});
Response:
{ action: 'delete',
application: 'f34f4222-a166-11e2-a7f7-02e81adcf3d0',
params: {},
path: '/items',
uri: 'http://api.usergrid.com/your-org/your-app/items',
entities:
[ { uuid: 'f97c35ea-1a5b-11e3-b8a1-6f428da9ad88',
type: 'item',
name: 'milk',
price: '3.25',
created: 1378846808126,
modified: 1378846808126,
metadata: [Object] } ],
timestamp: 1378847145757,
duration: 285,
organization: 'your-org',
applicationName: 'your-app' }
SDK Method
entity.destroy(callback)
Parameters
Parameter | Description |
---|---|
callback | Callback function to handle the API response |