Update a queue by id
PUT /queues/{queue_id}
Updates a queue by id. Requires the target queue_id as a path parameter.
A valid queue_id is one that was returned by the queue creation endpoint. If no queue with the given queue_id can be found, the endpoint returns status 404.
Only mutable properties like name can be updated.
Authentication
The target organization for this request will be determined by the supplied access token.
As a prerequisite you need to create an account and follow the onboarding process to also create an organization and an API key.
See also: Authentication.
Examples
curl -X PUT http://api.discue.io/v1/queues/{queue_id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-API-KEY: API_KEY' \
-d '{
"name": "myapp.io/deletion-request-queue",
"schema": {
"person": {
"type": "object",
"props": {
"name": {
"type": "string",
"pattern": "abc",
"required": true
},
"street": {
"type": "string",
"min": 5,
"max": 10
},
"city": {
"type": "string",
"enum": [
"Berlin"
]
}
}
},
"count": {
"type": "number",
"min": 0,
"max": 15,
"required": false
},
"list": {
"type": "array",
"items": {
"type": "string",
"pattern": "abc",
"required": true
}
}
}
}'
const body = {
"name": "myapp.io/deletion-request-queue",
"schema": {
"person": {
"type": "object",
"props": {
"name": {
"type": "string",
"pattern": "abc",
"required": true
},
"street": {
"type": "string",
"min": 5,
"max": 10
},
"city": {
"type": "string",
"enum": [
"Berlin"
]
}
}
},
"count": {
"type": "number",
"min": 0,
"max": 15,
"required": false
},
"list": {
"type": "array",
"items": {
"type": "string",
"pattern": "abc",
"required": true
}
}
}
}
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'X-API-KEY':'API_KEY'
}
const response = await fetch('http://api.discue.io/v1/queues/{queue_id}', {
method: 'PUT', body, headers
})
const body = await response.json()
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-API-KEY': 'API_KEY'
}
r = requests.put('http://api.discue.io/v1/queues/{queue_id}', headers = headers)
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"X-API-KEY": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "http://api.discue.io/v1/queues/{queue_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
}
Body
{
"name": "myapp.io/deletion-request-queue",
"schema": {
"person": {
"type": "object",
"props": {
"name": {
"type": "string",
"pattern": "abc",
"required": true
},
"street": {
"type": "string",
"min": 5,
"max": 10
},
"city": {
"type": "string",
"enum": [
"Berlin"
]
}
}
},
"count": {
"type": "number",
"min": 0,
"max": 15,
"required": false
},
"list": {
"type": "array",
"items": {
"type": "string",
"pattern": "abc",
"required": true
}
}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| queue_id | path | ResourceId | ✔ | Id of the target queue |
| pretty | query | boolean | ❌ | Return the response pretty printed |
| body | body | UpdateQueueRequest | ✔ | none |
| » name | body | string | ❌ | none |
| » schema | body | QueueMessageSchema | ❌ | none |
Responses
200 Response
{
"queue": {
"id": "string",
"name": "string",
"schema": {
"person": {
"type": "object",
"props": {
"name": {
"type": "string",
"pattern": "abc",
"required": true
},
"street": {
"type": "string",
"min": 5,
"max": 10
},
"city": {
"type": "string",
"enum": [
"Berlin"
]
}
}
},
"count": {
"type": "number",
"min": 0,
"max": 15,
"required": false
},
"list": {
"type": "array",
"items": {
"type": "string",
"pattern": "abc",
"required": true
}
}
}
},
"_links": {
"self": {
"href": "https://api.discue.io/queues/180994c-b6b2-4d0e-b7ad-414716e83386"
},
"myapp.io/delete-user-listener-64fae19": {
"href": "https://api.discue.io/queues/180994c-b6b2-4d0e-b7ad-414716e83386/listeners/0644659f-b47b-4668-86dd-a496cb7fbc76"
}
}
}
400 Response
{
"title": "Bad Request",
"status": 400
}
401 Response
{
"title": "Unauthorized",
"status": 401
}
402 Response
{
"title": "Payment Required",
"status": 402
}
403 Response
{
"title": "Forbidden",
"status": 403
}
404 Response
{
"title": "Not Found",
"status": 404
}
405 Response
{
"title": "Method Not Allowed",
"status": 405
}
406 Response
{
"title": "Not Acceptable",
"status": 406
}
409 Response
{
"title": "Conflict",
"status": 409
}
415 Response
{
"title": "Unsupported Media Type",
"status": 415
}
422 Response
{
"title": "Unprocessable Entity",
"status": 422
}
423 Response
{
"title": "Locked",
"status": 423
}
429 Response
{
"title": "Too Many Requests",
"status": 429
}
500 Response
{
"title": "Internal Server Error",
"status": 500
}
501 Response
{
"title": "Not Implemented",
"status": 501
}
503 Response
{
"title": "Service Unavailable",
"status": 503
}
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Ok | GetQueueResponse |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 402 | Payment Required | Payment Required | Inline |
| 403 | Forbidden | Forbidden | Inline |
| 404 | Not Found | Not Found | Inline |
| 405 | Method Not Allowed | Method Not Allowed | Inline |
| 406 | Not Acceptable | Not Acceptable | Inline |
| 409 | Conflict | Conflict | Inline |
| 415 | Unsupported Media Type | Unsupported Media Type | Inline |
| 422 | Unprocessable Entity | Unprocessable Entity | Inline |
| 423 | Locked | Locked | Inline |
| 429 | Too Many Requests | Too Many Requests | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
| 501 | Not Implemented | Not Implemented | Inline |
| 503 | Service Unavailable | Service Unavailable | Inline |