Update Container
Update Container
PATCH
https://api.ocamba.com/v1/hood/containers/{id}
Updates the specific Container by setting the values of the parameters passed. Any parameters not provided will be left unchanged
Note
At least one of the updatable fields should be sent via HTTP body in order to change the current state of the container.
Web app names are sanitized to be all lowercase.
Android and iOS app names stay the same.
Tip
If you don’t know the Container ‘id’, list the Containers to find it.
Patching the container with applications will replace the old applications array.
Rate limits:
- Burst: 10/s
- Steady: 150/m
Path parameters
parametersRequest schema
bodyResponse schemas
•
204
No Content
›
400
application/json
›
500
application/json
curl -X PATCH \
"https://api.ocamba.com/v1/hood/containers/{id}" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Containter Update",
"enable_modals": true,
"enable_tags": true,
"description": "This is a new description for a Container",
"applications": [
{
"app": "app.example.com"
}
],
"push": {
"enabled": true,
"override": true,
"domain": "t.example.com",
"auto_resubscribe": true,
"suppress_prompts_on_subdomains": true,
"service_worker": {
"path": "/sw1.js",
"source": "updated"
}
},
"analytics": {
"enabled": true,
"override": true
},
"crashlytics": {
"enabled": true,
"override": true
},
"consent": {
"enabled": true,
"override": true
}
}'const url = 'https://api.ocamba.com/v1/hood/containers/{id}';
const options = {
method: 'PATCH',
headers: {
Authorization: "Bearer {TOKEN}",
'Content-Type': "application/json"
},
body: JSON.stringify(
{
"name": "Example Containter Update",
"enable_modals": true,
"enable_tags": true,
"description": "This is a new description for a Container",
"applications": [
{
"app": "app.example.com"
}
],
"push": {
"enabled": true,
"override": true,
"domain": "t.example.com",
"auto_resubscribe": true,
"suppress_prompts_on_subdomains": true,
"service_worker": {
"path": "/sw1.js",
"source": "updated"
}
},
"analytics": {
"enabled": true,
"override": true
},
"crashlytics": {
"enabled": true,
"override": true
},
"consent": {
"enabled": true,
"override": true
}
}
)
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}$ch = curl_init("https://api.ocamba.com/v1/hood/containers/{id}");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer {TOKEN}",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(
[
"name" => "Example Containter Update",
"enable_modals" => true,
"enable_tags" => true,
"description" => "This is a new description for a Container",
"applications" => [
[
"app" => "app.example.com"
]
],
"push" => [
"enabled" => true,
"override" => true,
"domain" => "t.example.com",
"auto_resubscribe" => true,
"suppress_prompts_on_subdomains" => true,
"service_worker" => [
"path" => "/sw1.js",
"source" => "updated"
]
],
"analytics" => [
"enabled" => true,
"override" => true
],
"crashlytics" => [
"enabled" => true,
"override" => true
],
"consent" => [
"enabled" => true,
"override" => true
]
]
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);curl -X PATCH \
"https://api.ocamba.com/v1/hood/containers/{id}" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Containter Update",
"enable_modals": true,
"enable_tags": true,
"description": "This is a new description for a Container",
"applications": [
{
"app": "app.example.com"
}
],
"push": {
"enabled": true,
"override": true,
"domain": "t.example.com",
"auto_resubscribe": true,
"suppress_prompts_on_subdomains": true,
"apns_env": "sandbox",
"apns_p12": "{base64_encoded_p12_file}",
"apns_p12_password": "p12_pass_example"
},
"analytics": {
"enabled": true,
"override": true
},
"crashlytics": {
"enabled": true,
"override": true
},
"consent": {
"enabled": true,
"override": true
}
}'const url = 'https://api.ocamba.com/v1/hood/containers/{id}';
const options = {
method: 'PATCH',
headers: {
Authorization: "Bearer {TOKEN}",
'Content-Type': "application/json"
},
body: JSON.stringify(
{
"name": "Example Containter Update",
"enable_modals": true,
"enable_tags": true,
"description": "This is a new description for a Container",
"applications": [
{
"app": "app.example.com"
}
],
"push": {
"enabled": true,
"override": true,
"domain": "t.example.com",
"auto_resubscribe": true,
"suppress_prompts_on_subdomains": true,
"apns_env": "sandbox",
"apns_p12": "{base64_encoded_p12_file}",
"apns_p12_password": "p12_pass_example"
},
"analytics": {
"enabled": true,
"override": true
},
"crashlytics": {
"enabled": true,
"override": true
},
"consent": {
"enabled": true,
"override": true
}
}
)
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}$ch = curl_init("https://api.ocamba.com/v1/hood/containers/{id}");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer {TOKEN}",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(
[
"name" => "Example Containter Update",
"enable_modals" => true,
"enable_tags" => true,
"description" => "This is a new description for a Container",
"applications" => [
[
"app" => "app.example.com"
]
],
"push" => [
"enabled" => true,
"override" => true,
"domain" => "t.example.com",
"auto_resubscribe" => true,
"suppress_prompts_on_subdomains" => true,
"apns_env" => "sandbox",
"apns_p12" => "[base64_encoded_p12_file]",
"apns_p12_password" => "p12_pass_example"
],
"analytics" => [
"enabled" => true,
"override" => true
],
"crashlytics" => [
"enabled" => true,
"override" => true
],
"consent" => [
"enabled" => true,
"override" => true
]
]
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);curl -X PATCH \
"https://api.ocamba.com/v1/hood/containers/{id}" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Containter Update",
"enable_modals": true,
"enable_tags": true,
"description": "This is a new description for a Container",
"applications": [
{
"app": "app.example.com"
}
],
"push": {
"enabled": true,
"override": true,
"domain": "t.example.com",
"auto_resubscribe": true,
"suppress_prompts_on_subdomains": true,
"firebase_admin_sdk_json": "{base64_encoded_firebase_json_file}"
},
"analytics": {
"enabled": true,
"override": true
},
"crashlytics": {
"enabled": true,
"override": true
},
"consent": {
"enabled": true,
"override": true
}
}'const url = 'https://api.ocamba.com/v1/hood/containers/{id}';
const options = {
method: 'PATCH',
headers: {
Authorization: "Bearer {TOKEN}",
'Content-Type': "application/json"
},
body: JSON.stringify(
{
"name": "Example Containter Update",
"enable_modals": true,
"enable_tags": true,
"description": "This is a new description for a Container",
"applications": [
{
"app": "app.example.com"
}
],
"push": {
"enabled": true,
"override": true,
"domain": "t.example.com",
"auto_resubscribe": true,
"suppress_prompts_on_subdomains": true,
"firebase_admin_sdk_json": "{base64_encoded_firebase_json_file}"
},
"analytics": {
"enabled": true,
"override": true
},
"crashlytics": {
"enabled": true,
"override": true
},
"consent": {
"enabled": true,
"override": true
}
}
)
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}$ch = curl_init("https://api.ocamba.com/v1/hood/containers/{id}");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer {TOKEN}",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(
[
"name" => "Example Containter Update",
"enable_modals" => true,
"enable_tags" => true,
"description" => "This is a new description for a Container",
"applications" => [
[
"app" => "app.example.com"
]
],
"push" => [
"enabled" => true,
"override" => true,
"domain" => "t.example.com",
"auto_resubscribe" => true,
"suppress_prompts_on_subdomains" => true,
"firebase_admin_sdk_json" => "[base64_encoded_firebase_json_file]"
],
"analytics" => [
"enabled" => true,
"override" => true
],
"crashlytics" => [
"enabled" => true,
"override" => true
],
"consent" => [
"enabled" => true,
"override" => true
]
]
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);Responses
204 No Content
400 Bad Request
{
"code": 400,
"title": "Bad request.",
"message": "The request is not valid.",
"trace_id": "99a84211-f73d-4ff8-acdf-eb3e06bb9d62"
}
500 Internal Server Error
{
"code": 500,
"title": "Internal server error.",
"trace_id": "99a84211-f73d-4ff8-acdf-eb3e06bb9d62"
}
Responses