nextcloud/server · error · Error

Missing "Content-Location" header

Error message

Missing "Content-Location" header

What it means

Error "Missing "Content-Location" header" thrown in nextcloud/server.

Source

Thrown at apps/systemtags/src/services/api.ts:102

 * Create a tag and return the Id of the newly created tag.
 *
 * @param tag The tag to create
 */
export async function createTag(tag: Tag | ServerTag): Promise<number> {
	const path = '/systemtags'
	const tagToPost = formatTag(tag)
	try {
		const { headers } = await davClient.customRequest(path, {
			method: 'POST',
			data: tagToPost,
		})
		const contentLocation = headers.get('content-location')
		if (contentLocation) {
			emit('systemtags:tag:created', tag)
			return parseIdFromLocation(contentLocation)
		}
		logger.error(t('systemtags', 'Missing "Content-Location" header'))
		throw new Error(t('systemtags', 'Missing "Content-Location" header'))
	} catch (error) {
		if ((error as WebDAVClientError)?.response?.status === 409) {
			logger.error(t('systemtags', 'A tag with the same name already exists'), { error })
			throw new Error(t('systemtags', 'A tag with the same name already exists'), { cause: error })
		}
		logger.error(t('systemtags', 'Failed to create tag'), { error })
		throw new Error(t('systemtags', 'Failed to create tag'), { cause: error })
	}
}

/**
 * Update a tag on the server.
 *
 * @param tag - The tag to update
 */
export async function updateTag(tag: TagWithId): Promise<void> {
	const path = '/systemtags/' + tag.id
	const data = `<?xml version="1.0"?>

View on GitHub (pinned to ecdeb153ff)

When it happens

Trigger: Thrown at apps/systemtags/src/services/api.ts:102 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of nextcloud/server@ecdeb153ff (2026-08-17). Data as JSON: /api/errors/603cdef09dc824b9. Report an issue: GitHub.