Action güncelle
Bir entegrasyondaki mevcut bir action'ı güncelleyin
Bir entegrasyondaki mevcut bir action'ı günceller. name değiştirmek action slug'ını değiştirmez.
Base URL
https://api.ajan.io/integrations/v1/{integrationId}/actions/{actionId}Dedicated deployments Tüm isteklerde
api.ajan.com'u/api/publicile değiştirin.
Required Scopes
Bu endpoint INTEGRATION_API kapsamı gerektirir.
Parameters
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
integrationId | string | Yes | Entegrasyonun UUID'si |
actionId | string | Yes | Güncellenecek action'ın UUID'si |
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Action adı (maks. 100 karakter) |
description | string | No | Action açıklaması (maks. 1.000 karakter) |
code | string | No | Çalıştırılacak JavaScript kodu (maks. 150.000 karakter) |
inputFields | array | No | Action için giriş alanları |
requiresConfirmation | boolean | No | Çalıştırmadan önce kullanıcı onayı gerekip gerekmediği |
Tam giriş alanı şeması için Create Action sayfasına bakın.
descriptiongöndermezseniz temizlenir.inputFieldsgöndermezseniz mevcut tüm giriş alanları kaldırılır.codeveyarequiresConfirmationgöndermezseniz mevcut değer korunur.inputFieldsgöndermek alan listesini tamamen değiştirir. Bir giriş alanıjsonSchemaatlanırsa, gönderilen alan etiketinden üretilen slug eşleştiğinde mevcut JSON Schema korunur. JSON Schema kaldırmak için açıkçajsonSchema: nullgönderin.
Example
const axios = require("axios");
async function updateAction(integrationId, actionId) {
const response = await axios.put(
`https://api.ajan.io/integrations/v1/${integrationId}/actions/${actionId}`,
{
name: "Get User Data v2",
description: "Updated action with additional fields",
code: `
const response = await ld.request({
method: "GET",
url: "https://api.example.com/v2/users/" + data.input.userId
});
return response.json;
`,
inputFields: [
{
label: "User ID",
type: "TEXT",
required: true
},
{
label: "Format",
type: "SELECT",
options: [
{ label: "JSON", value: "json" },
{ label: "XML", value: "xml" }
],
required: false
}
]
},
{
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
}
);
console.log("Updated action:", response.data.action);
}
updateAction("550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001");Response Format
Success Response (200 OK)
{
action: {
id: string;
name: string;
slug: string;
description: string;
code: string | null;
order: number;
requiresConfirmation: boolean;
inputFields: Array<{
slug: string;
label: string;
type: string;
description: string;
placeholder: string | null;
required: boolean;
order: number;
options: Array<{label: string, value: string}> | null;
allowMultiSelect: boolean | null;
contextActionId: string | null;
jsonSchema: string | null;
}>;
};
}Error Handling
| Status Code | Description |
|---|---|
| 400 | Geçersiz istek gövdesi veya ID'ler |
| 401 | Geçersiz veya eksik API anahtarı |
| 403 | Bu entegrasyona erişim yok |
| 404 | Entegrasyon veya action bulunamadı |
| 422 | Desteklenmeyen entegrasyon türü. Action güncellemesi yalnızca workspace'e ait API entegrasyonunda. |
| 429 | Rate limit aşıldı |
ajan, API anahtarınızı korumak ve uygulamalarınızın güvenliğini sağlamak için tarayıcı kaynaklı istekleri bilinçli olarak engeller. Daha fazla bilgi için API Key Best Practices kılavuzuna bakın.