Back to Collection Items
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
DECLARE @http int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Http', @http OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
-- Adds the "Authorization: Bearer <access_token>" header.
EXEC sp_OASetProperty @http, 'AuthToken', '<access_token>'
DECLARE @resp int
EXEC sp_OAMethod @http, 'QuickRequest', @resp OUT, 'DELETE', 'https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>'
EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 = 0
BEGIN
EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @http
RETURN
END
DECLARE @respStatusCode int
EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT
PRINT 'Response Status Code = ' + @respStatusCode
IF @respStatusCode <> 204
BEGIN
PRINT 'Response Header:'
EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT
PRINT @sTmp0
PRINT 'Response Body:'
EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT
PRINT @sTmp0
PRINT 'Failed.'
EXEC @hr = sp_OADestroy @resp
EXEC @hr = sp_OADestroy @http
RETURN
END
EXEC @hr = sp_OADestroy @resp
PRINT 'Success.'
EXEC @hr = sp_OADestroy @http
END
GO
Curl Command
curl -X DELETE
-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>
Postman Collection Item JSON
{
"name": "Delete relationship",
"request": {
"auth": {
"type": "oauth2"
},
"method": "DELETE",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"from",
":sourceType",
":sourceKey",
"to",
":targetType",
":targetKey"
],
"query": [
{
"key": "sourceStatus",
"value": "<string>",
"description": "The status of the source. This parameter is only used when the\n`sourceType` is 'content'."
},
{
"key": "targetStatus",
"value": "<string>",
"description": "The status of the target. This parameter is only used when the\n`targetType` is 'content'."
},
{
"key": "sourceVersion",
"value": "<integer>",
"description": "The version of the source. This parameter is only used when the\n`sourceType` is 'content' and the `sourceStatus` is 'historical'."
},
{
"key": "targetVersion",
"value": "<integer>",
"description": "The version of the target. This parameter is only used when the\n`targetType` is 'content' and the `targetStatus` is 'historical'."
}
],
"variable": [
{
"key": "relationName",
"value": "<string>",
"type": "string",
"description": "(Required) The name of the relationship."
},
{
"key": "sourceType",
"value": "<string>",
"type": "string",
"description": "(Required) The source entity type of the relationship. This must be 'user', if\nthe `relationName` is 'favourite'."
},
{
"key": "sourceKey",
"value": "<string>",
"type": "string",
"description": "(Required) - The identifier for the source entity:\n\n- If `sourceType` is 'user', then specify either 'current' (logged-in\n user) or the user key.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key."
},
{
"key": "targetType",
"value": "<string>",
"type": "string",
"description": "(Required) The target entity type of the relationship. This must be 'space' or\n'content', if the `relationName` is 'favourite'."
},
{
"key": "targetKey",
"value": "<string>",
"type": "string",
"description": "(Required) - The identifier for the target entity:\n\n- If `sourceType` is 'user', then specify either 'current' (logged-in\n user) or the user key.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key."
}
]
},
"description": "Deletes a relationship between two entities (user, space, content).\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).\nFor favourite relationships, the current user can only delete their own\nfavourite relationships. A space administrator can delete favourite\nrelationships for any user."
},
"response": [
{
"name": "Returned if the relationship is deleted or the relationship didn't\nexist.",
"originalRequest": {
"method": "DELETE",
"header": [
{
"description": {
"content": "Added as a part of security scheme: oauth2",
"type": "text/plain"
},
"key": "Authorization",
"value": "<token>"
}
],
"url": {
"raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"from",
":sourceType",
":sourceKey",
"to",
":targetType",
":targetKey"
],
"query": [
{
"key": "sourceStatus",
"value": "<string>"
},
{
"key": "targetStatus",
"value": "<string>"
},
{
"key": "sourceVersion",
"value": "<integer>"
},
{
"key": "targetVersion",
"value": "<integer>"
}
],
"variable": [
{
"key": "relationName"
},
{
"key": "sourceType"
},
{
"key": "sourceKey"
},
{
"key": "targetType"
},
{
"key": "targetKey"
}
]
}
},
"status": "No Content",
"code": 204,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "Returned if the user does not have permission to delete the\nrelationship.",
"originalRequest": {
"method": "DELETE",
"header": [
{
"description": {
"content": "Added as a part of security scheme: oauth2",
"type": "text/plain"
},
"key": "Authorization",
"value": "<token>"
}
],
"url": {
"raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"from",
":sourceType",
":sourceKey",
"to",
":targetType",
":targetKey"
],
"query": [
{
"key": "sourceStatus",
"value": "<string>"
},
{
"key": "targetStatus",
"value": "<string>"
},
{
"key": "sourceVersion",
"value": "<integer>"
},
{
"key": "targetVersion",
"value": "<integer>"
}
],
"variable": [
{
"key": "relationName"
},
{
"key": "sourceType"
},
{
"key": "sourceKey"
},
{
"key": "targetType"
},
{
"key": "targetKey"
}
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "Returned if the user, space or content could not be found.",
"originalRequest": {
"method": "DELETE",
"header": [
{
"description": {
"content": "Added as a part of security scheme: oauth2",
"type": "text/plain"
},
"key": "Authorization",
"value": "<token>"
}
],
"url": {
"raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"from",
":sourceType",
":sourceKey",
"to",
":targetType",
":targetKey"
],
"query": [
{
"key": "sourceStatus",
"value": "<string>"
},
{
"key": "targetStatus",
"value": "<string>"
},
{
"key": "sourceVersion",
"value": "<integer>"
},
{
"key": "targetVersion",
"value": "<integer>"
}
],
"variable": [
{
"key": "relationName"
},
{
"key": "sourceType"
},
{
"key": "sourceKey"
},
{
"key": "targetType"
},
{
"key": "targetKey"
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}