/projects/{project_id}delete project
#delete-projectsPermanently deletes a project and all associated resources including domains, API keys, and short links. This operation cannot be undone.
Behavior
- All custom domains associated with the project are removed
- All API keys (primary and secondary) are revoked
- All short links created under this project are deleted
- The operation is idempotent - calling delete on an already deleted project returns 404
Rate limiting
- Subject to rate limiting based on the user's plan
Parameters
project_idpathrequiredThe unique identifier (UUID v4) of the project to delete. Must be a valid UUID format.
string / uuid
AuthorizationheaderrequiredHTTP Basic authentication header. Format: Authorization: Basic base64(clientId:clientSecret) where clientId and clientSecret are the API credentials that have permission to delete the project.
string
Responses
204Project successfully deleted. No content returned.
400application/jsonInvalid request. The project_id parameter does not match the required UUID format or other validation failed.
object
errorCoderequiredstringA stable, machine-readable error code that identifies the specific type of error.
errorMessagerequiredstringA human-readable message that describes the error. This message may contain additional context about what went wrong.
correlationIdrequiredstring / uuidA unique identifier (UUID) for this request that can be used to trace the error in server logs. Include this ID when contacting support. This value matches the X-Correlation-Id response header.
401application/jsonUnauthorized. The Authorization header is missing, malformed, or contains invalid credentials.
object
errorCoderequiredstringA stable, machine-readable error code that identifies the specific type of error.
errorMessagerequiredstringA human-readable message that describes the error. This message may contain additional context about what went wrong.
correlationIdrequiredstring / uuidA unique identifier (UUID) for this request that can be used to trace the error in server logs. Include this ID when contacting support. This value matches the X-Correlation-Id response header.
403application/jsonForbidden. The authenticated client does not have permission to delete this project.
object
errorCoderequiredstringA stable, machine-readable error code that identifies the specific type of error.
errorMessagerequiredstringA human-readable message that describes the error. This message may contain additional context about what went wrong.
correlationIdrequiredstring / uuidA unique identifier (UUID) for this request that can be used to trace the error in server logs. Include this ID when contacting support. This value matches the X-Correlation-Id response header.
404application/jsonProject not found. The specified project_id does not exist or has already been deleted.
object
errorCoderequiredstringA stable, machine-readable error code that identifies the specific type of error.
errorMessagerequiredstringA human-readable message that describes the error. This message may contain additional context about what went wrong.
correlationIdrequiredstring / uuidA unique identifier (UUID) for this request that can be used to trace the error in server logs. Include this ID when contacting support. This value matches the X-Correlation-Id response header.
429application/jsonToo many requests. Rate limit exceeded for the current user or project.
The edge aggregate rate limiter can also reject the request before it is forwarded to Azure. An edge rejection uses the existing errorResponse body with errorCode set to EDGE_RATE_LIMITED, allowing clients to distinguish it from the existing Function rate-limit response.
For an edge rejection, Retry-After is a positive integer number of seconds (delta-seconds) representing the recommended wait until the current decision window ends. It does not guarantee that a retry will be accepted after that time. In particular, a route-wide limit is shared, so other sources may consume capacity while the client waits and the retry may receive another 429.
Edge aggregate rate limiting is a coarse control and does not provide client-specific remaining-capacity information. Edge rejections do not include RateLimit-Limit, RateLimit-Remaining, or RateLimit-Reset, preventing clients from inferring the service's aggregate processing capacity or remaining quota.
object
errorCoderequiredstringA stable, machine-readable error code that identifies the specific type of error.
errorMessagerequiredstringA human-readable message that describes the error. This message may contain additional context about what went wrong.
correlationIdrequiredstring / uuidA unique identifier (UUID) for this request that can be used to trace the error in server logs. Include this ID when contacting support. This value matches the X-Correlation-Id response header.
500application/jsonInternal server error. An unexpected error occurred while processing the request.
object
errorCoderequiredstringA stable, machine-readable error code that identifies the specific type of error.
errorMessagerequiredstringA human-readable message that describes the error. This message may contain additional context about what went wrong.
correlationIdrequiredstring / uuidA unique identifier (UUID) for this request that can be used to trace the error in server logs. Include this ID when contacting support. This value matches the X-Correlation-Id response header.