Atualizar app
curl --request PATCH \
--url https://api.upag.io/v1/apps/{appId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"provider": "<string>",
"config": {},
"active": true,
"appliesTo": "<string>",
"appliesToProducts": {}
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
provider: '<string>',
config: {},
active: true,
appliesTo: '<string>',
appliesToProducts: {}
})
};
fetch('https://api.upag.io/v1/apps/{appId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.upag.io/v1/apps/{appId}';
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
provider: '<string>',
config: {},
active: true,
appliesTo: '<string>',
appliesToProducts: {}
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Apps
Atualizar app
Atualiza nome, configuração, ativação ou produtos do app
PATCH
https://api.upag.io
/
v1
/
apps
/
{appId}
Atualizar app
curl --request PATCH \
--url https://api.upag.io/v1/apps/{appId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"provider": "<string>",
"config": {},
"active": true,
"appliesTo": "<string>",
"appliesToProducts": {}
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
provider: '<string>',
config: {},
active: true,
appliesTo: '<string>',
appliesToProducts: {}
})
};
fetch('https://api.upag.io/v1/apps/{appId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.upag.io/v1/apps/{appId}';
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
provider: '<string>',
config: {},
active: true,
appliesTo: '<string>',
appliesToProducts: {}
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Atualização parcial.
config é mesclada à configuração guardada; um segredo reenviado mascarado (como veio na resposta) é ignorado e o valor real é mantido.
Permissão: app.write (chave secreta).
Endpoint
curl -X PATCH https://api.upag.dev/v1/apps/b7c8d9e0-f1a2-4b3c-8d4e-5f6a7b8c9d01 \
-H "Authorization: Bearer sk_test_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Meta Pixel (principal)",
"active": false
}'
import { Upag } from 'upag';
const upag = new Upag('sk_test_your_api_key');
const app = await upag.apps.update('b7c8d9e0-f1a2-4b3c-8d4e-5f6a7b8c9d01', {
name: 'Meta Pixel (principal)',
active: false,
});
Em produção use
https://api.upag.io/v1 com sk_live_....Parâmetros
string (uuid)
required
ID do app.
string
Novo nome (mínimo 3 caracteres).
string
Troca o provedor (
meta, spedy, utmify, trackup). Não é possível trocar para shopify, e a conta não pode ter outro app do provedor de destino. type não é alterável.boolean
Liga ou desliga o app.
string
all ou specific. Ao enviar specific, envie também appliesToProducts não vazio.string[] | null
UUIDs de produtos.
Resposta
200 OK
Response
{
"id": "b7c8d9e0-f1a2-4b3c-8d4e-5f6a7b8c9d01",
"type": "integration",
"provider": "meta",
"scope": "public",
"name": "Meta Pixel (principal)",
"config": { "pixelId": "123456789", "accessToken": "********oken" },
"active": false,
"appliesTo": "all",
"appliesToProducts": null,
"createdAt": "2026-03-18T11:30:00.000Z",
"updatedAt": "2026-03-18T12:30:00.000Z"
}
404(APP_NOT_FOUND).400—APP_ALREADY_EXISTS(provedor de destino já em uso) ouAPP_SHOPIFY_NOT_SUPPORTED.