URSY.DEVPART OF THE URSY NETWORKSign inBuild with URSY

Every contract sourcedEvery check datedGaps shown, never filledBuild with URSY

Endpoints

Cancel an owned running message; completed external work cannot be undone.

Commands: 30 requests per grant per fixed UTC minute. Buckets are separate for reads and commands. Request bodies are limited to 65,536 bytes. Retry a 429 only after Retry-After; retain the original Idempotency-Key for an unchanged command.

POST/rooms/{room}/messages/{message}/cancellationv0.1.1

Request

Authentication is required by the published contract.

CURL
curl -X POST 'https://ursy.locker/api/v1/rooms/{room}/messages/{message}/cancellation' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer YOUR_SERVICE_TOKEN'
Scopes
locker.chat
Execution
At the owning service
Risk classification
not declared

Parameters

room path · string required

See the accepted schema for constraints.

message path · string required

See the accepted schema for constraints.

Idempotency-Key header · string required

See the accepted schema for constraints.

This operation is documented here. Use the owning service with the appropriate credentials and permissions to execute it.

Response schemas and request body
CONTRACT JSON
{
    "requestBody": {
        "required": false,
        "content": {
            "application/json": {
                "schema": {
                    "type": "object",
                    "properties": [],
                    "required": [],
                    "additionalProperties": false
                }
            }
        }
    },
    "responses": {
        "200": {
            "description": "Successful query or command receipt",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "data",
                            "meta"
                        ],
                        "properties": {
                            "data": {
                                "type": "object",
                                "properties": {
                                    "operation_id": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "queued",
                                            "checkout_queued"
                                        ]
                                    },
                                    "poll_after_seconds": {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    "order_id": {
                                        "type": "string"
                                    },
                                    "room_id": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "operation_id",
                                    "status"
                                ],
                                "additionalProperties": true
                            },
                            "meta": {
                                "type": "object",
                                "required": [
                                    "request_id"
                                ],
                                "properties": {
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "next_cursor": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": true
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "headers": {
                "X-RateLimit-Limit": {
                    "description": "Read bucket 120; command bucket 30.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                },
                "X-RateLimit-Remaining": {
                    "description": "Requests left in this bucket after this request.",
                    "schema": {
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "X-RateLimit-Reset": {
                    "description": "Unix time in seconds at the next minute boundary.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                }
            }
        },
        "202": {
            "description": "Accepted durable asynchronous operation; poll Location after Retry-After",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "data",
                            "meta"
                        ],
                        "properties": {
                            "data": {
                                "type": "object",
                                "properties": {
                                    "operation_id": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "queued",
                                            "checkout_queued"
                                        ]
                                    },
                                    "poll_after_seconds": {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    "order_id": {
                                        "type": "string"
                                    },
                                    "room_id": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "operation_id",
                                    "status"
                                ],
                                "additionalProperties": true
                            },
                            "meta": {
                                "type": "object",
                                "required": [
                                    "request_id"
                                ],
                                "properties": {
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "next_cursor": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": true
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "headers": {
                "X-RateLimit-Limit": {
                    "description": "Read bucket 120; command bucket 30.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                },
                "X-RateLimit-Remaining": {
                    "description": "Requests left in this bucket after this request.",
                    "schema": {
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "X-RateLimit-Reset": {
                    "description": "Unix time in seconds at the next minute boundary.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                },
                "Location": {
                    "description": "Authorized operation status URL when operation_id is returned.",
                    "schema": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "Retry-After": {
                    "description": "Wait this many seconds before polling the operation.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                }
            }
        },
        "400": {
            "description": "Invalid input or JSON object; correct the request before retrying",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "401": {
            "description": "Missing or invalid resource-bound identity",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "headers": {
                "WWW-Authenticate": {
                    "description": "Bearer challenge linking the Locker protected-resource metadata.",
                    "schema": {
                        "type": "string"
                    }
                }
            }
        },
        "403": {
            "description": "Scope or ownership denied",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "404": {
            "description": "Unknown route/method, missing resource or resource unavailable to this actor",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "409": {
            "description": "Version, state or idempotency conflict; inspect the error before retrying",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "413": {
            "description": "Request exceeds the 65,536-byte body limit; reduce the body",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "415": {
            "description": "A non-empty request body must use application/json",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "429": {
            "description": "The fixed-minute read or command bucket is exhausted; wait Retry-After seconds",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "headers": {
                "Retry-After": {
                    "description": "Seconds until the limit resets; retry with bounded backoff.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                },
                "X-RateLimit-Limit": {
                    "description": "Read bucket 120; command bucket 30.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                },
                "X-RateLimit-Remaining": {
                    "description": "Requests left in this bucket after this request.",
                    "schema": {
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "X-RateLimit-Reset": {
                    "description": "Unix time in seconds at the next minute boundary.",
                    "schema": {
                        "type": "integer",
                        "minimum": 1
                    }
                }
            }
        },
        "503": {
            "description": "Required integration unavailable; no success is assumed",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "default": {
            "description": "Typed service error; obey error.retryable and error.next_action. A response is not proof that an action completed.",
            "content": {
                "application/json": {
                    "schema": {
                        "type": "object",
                        "required": [
                            "error"
                        ],
                        "properties": {
                            "error": {
                                "type": "object",
                                "required": [
                                    "code",
                                    "message",
                                    "request_id",
                                    "retryable"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "message": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "string"
                                    },
                                    "retryable": {
                                        "type": "boolean"
                                    },
                                    "next_action": {
                                        "type": [
                                            "object",
                                            "null"
                                        ]
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "500": {
            "description": "Unexpected server fault. The body may not be JSON and no success is assumed; for a command, retry later with the same Idempotency-Key."
        }
    }
}