Skip to content
ajan.io

Docs menu

On this page

Update Trigger

Update an existing trigger in an integration

Updates an existing trigger in an integration. This replaces the trigger configuration with the provided values.

Base URL

https://api.ajan.io/integrations/v1/{integrationId}/triggers/{triggerId}

Required Scopes

This endpoint requires the INTEGRATION_API scope.

Parameters

Path Parameters

ParameterTypeRequiredDescription
integrationIdstringYesUUID of the integration
triggerIdstringYesUUID of the trigger to update

Request Body

ParameterTypeRequiredDescription
namestringYesTrigger name (max 100 characters)
descriptionstringNoTrigger description (max 90 characters)
pollingCodestringNoJavaScript code to poll for new events (max 1,000 characters)
inputFieldsarrayNoInput fields for configuring the trigger

See Create Trigger for the full input field schema.

Example

javascript
const axios = require("axios");

async function updateTrigger(integrationId, triggerId) {
  const response = await axios.put(
    `https://api.ajan.io/integrations/v1/${integrationId}/triggers/${triggerId}`,
    {
      name: "New Issue Created v2",
      description: "Updated trigger with additional filtering options",
      pollingCode: `
        const response = await ld.request({
          method: "GET",
          url: "https://api.example.com/v2/issues",
          headers: {
            Authorization: "Bearer " + data.auth.apiToken
          },
          params: {
            since: new Date(Date.now() - 60 * 60 * 1000).toISOString(),
            project: data.input.projectId
          }
        });
        return response.json;
      `,
      inputFields: [
        {
          label: "Project ID",
          type: "TEXT",
          required: true
        },
        {
          label: "Status Filter",
          type: "SELECT",
          options: [
            { label: "All", value: "all" },
            { label: "Open", value: "open" },
            { label: "Closed", value: "closed" }
          ],
          required: false
        }
      ]
    },
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
      }
    }
  );

  console.log("Updated trigger:", response.data.trigger);
}

updateTrigger("550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001");

Response Format

Success Response (200 OK)

typescript
{
  trigger: {
    id: string;
    name: string;
    slug: string;
    description: string;
    type: string;
    pollingCode: string | null;
    inputFields: Array<{
      slug: string;
      label: string;
      type: string;
      description: string;
      placeholder: string | null;
      required: boolean;
      options: Array<{label: string, value: string}> | null;
      allowMultiSelect: boolean | null;
    }>;
  };
}

Error Handling

Status CodeDescription
400Invalid request body or IDs
401Invalid or missing API key
403No access to this integration
404Integration or trigger not found
429Rate limit exceeded