> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://contentful.com/developers/docs/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/_mcp/server. # Delete a Delivery API key DELETE https://api.contentful.com/spaces/{space_id}/api_keys/{api_key_id} This endpoint allows you to delete a Delivery API key and its corresponding Preview API key. Reference: https://contentful.com/developers/docs/references/content-management-api/api-keys/delete-a-delivery-api-key ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Path parameters - `space_id` (string, required) — ID of the space in a form of a string - `api_key_id` (string, required) — ID of the Delivery API key in a form of a string ## Response ### 204 No Content - Request successful, no content returned ## Examples **SDK Code** ```android Android // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); // fetch api key to be deleted. client .apiKeys() .async() .fetchAll( new CMACallback>() { @Override protected void onSuccess(CMAArray result) { client .apiKeys() .async() .delete( result.getItems().get(0), new CMACallback() { @Override protected void onSuccess(Integer result) { new AlertDialog.Builder(context) .setTitle("Contentful") .setMessage("Successfully deleted first api." + "\n\nResult: " + result) .show(); } @Override protected void onFailure(RuntimeException exception) { // An error occurred! Inform the user. new AlertDialog.Builder(context) .setTitle("Contentful Error") .setMessage("Could not delete first api key." + "\n\nReason: " + exception.toString()) .show(); super.onFailure(exception); } } ); } @Override protected void onFailure(RuntimeException exception) { // An error occurred! Inform the user. new AlertDialog.Builder(context) .setTitle("Contentful Error") .setMessage("Could not fetch api keys." + "\n\nReason: " + exception.toString()) .show(); super.onFailure(exception); } } ); ``` ```java Java // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); // Create a new locally key. final CMAApiKey key = client .apiKeys() .fetchAll() .getItems() .get(0); // Upload it to contentful. final int response = client .apiKeys() .delete(key); ``` ```kotlin Kotlin // Create the Contentful client. val client = CMAClient.Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build() // Create a new locally key. val key = client .apiKeys() .fetchAll() .items[0] // Upload it to contentful. val response = client .apiKeys() .delete(key) ``` ```swift Swift We currently don't provide a CMA SDK for this platform. ``` ```js-legacy JavaScript (legacy) import { createClient } from 'contentful-management' const client = createClient({ accessToken: '' }, { type: 'legacy' }) client.getSpace('') .then((space) => space.getApiKey('')) .then((apiKey) => apiKey.delete()) .then(() => console.log('Delivery API key deleted.')) .catch(console.error) ``` ```javascript JavaScript import { createClient } from 'contentful-management' // Client init const client = createClient({ accessToken: '' }) await client.apiKey.delete({ spaceId: '', apiKeyId: '', }); ``` ```php PHP $client = new \Contentful\Management\Client(''); $space = $client->getSpaceProxy(''); $deliveryApiKey = $space->getDeliveryApiKey(''); $deliveryApiKey->delete(); ``` ```ruby Ruby require 'contentful/management' client = Contentful::Management::Client.new('') api_key = client.api_keys('').find('') api_key.destroy ``` ```python Python from contentful_management import Client client = Client('') client.api_keys('').delete('') ``` ```.net .NET // This client should only be created once per application. var httpClient = new HttpClient(); var client = new ContentfulManagementClient(httpClient, "", ""); await client.DeleteApiKey(""); ```