---
title: "Update Event Definition"
method: POST
path: "/peopleevents/2/definitions/{definitionId}"
tags: ["customer-engagement", "people", "events"]
---

# Update Event Definition

`POST /peopleevents/2/definitions/{definitionId}`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/peopleevents/2/definitions/{definitionId}`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`
  - API key in header `Authorization`
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`

Update an existing custom event definition by adding new fields or modifying the title and description. Only supports additive changes—you can add new fields but **cannot** remove existing fields or change their types. This ensures backward compatibility with historical events. Standard (internal) definitions and template-inherited properties cannot be modified.

## Path parameters

- `definitionId` string, required

## Request body

- B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cEventDefinitionUpdateResource
  - `title` string, required: Event definition title. Must not be empty. Maximum length: `100` characters.<br>**Note**: The title cannot be changed for a template definition. If the client tries to update the value, it will be overwritten with the standard title from the template.
  - `description` string, nullable: Event definition description. Maximum length: `2000` characters.<br>**Note**: The description cannot be changed for a template definition. If the client tries to update the value, it will be overwritten with the standard description from the template.
  - `fields` B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cEventFieldResource[], nullable: Event definition fields. The total number of fields cannot exceed `120`. Field names must be unique (case-insensitive). The number of fields of type `List` cannot exceed `1`. Only new fields can be added; existing fields **cannot** be removed or changed.
    - `name` string, required: Field name. Must not exceed `128` characters. Must start with a lowercase letter `(a–z)` and can contain alphanumeric characters `(A–Z, a–z, 0–9)` and underscores `(_)`.
    - `type` 'String' | 'Boolean' | 'DateTime' | 'Numeric' | 'Decimal' | 'List', required: Field data type.
    - `schema` B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cListItemResource
      - `type` 'Object', required: Schema type for List items.
      - `fields` B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cListItemFieldResource[], required: Fields within the List item object. Must not be empty, must contain no more than `128` items, field names must be unique (case-insensitive).
        - `name` string, required: Field name within a List item. Must not exceed `128` characters. Must start with a lowercase letter `(a–z)` and can contain alphanumeric characters `(A–Z, a–z, 0–9)` and underscores `(_)`.
        - `type` 'String' | 'Boolean' | 'DateTime' | 'Numeric' | 'Decimal', required: Field data type within a List item.

## Response `200`

OK

- B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cEventDefinitionResource
  - `isInternalDefinition` boolean: Indicates whether this is a standard (internal) event definition provided by the system, or a custom (external) definition created by the user.
  - `category` 'external' | 'person' | 'channel' | 'product' | 'template': Event definition category.
  - `subcategory` 'sms' | 'email' | 'push' | 'whatsapp' | 'viber' | 'facebook' | 'moments' | 'forms' | 'conversations' | 'mobileapp' | 'voice' | 'line' | 'appleBC' | 'rcs' | 'mms' | 'viberBot' | 'inapp' | 'answers' | 'blocklist': Event definition subcategory.
  - `definitionId` string, nullable: Event definition identifier.
  - `title` string, nullable: Event definition title.
  - `description` string, nullable: Event definition description.
  - `fields` B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cEventFieldResource[], nullable: Event definition fields describing the structure and data types of the event properties.
    - `name` string, required: Field name. Must not exceed `128` characters. Must start with a lowercase letter `(a–z)` and can contain alphanumeric characters `(A–Z, a–z, 0–9)` and underscores `(_)`.
    - `type` 'String' | 'Boolean' | 'DateTime' | 'Numeric' | 'Decimal' | 'List', required: Field data type.
    - `schema` B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cListItemResource
      - `type` 'Object', required: Schema type for List items.
      - `fields` B3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1cListItemFieldResource[], required: Fields within the List item object. Must not be empty, must contain no more than `128` items, field names must be unique (case-insensitive).
        - `name` string, required: Field name within a List item. Must not exceed `128` characters. Must start with a lowercase letter `(a–z)` and can contain alphanumeric characters `(A–Z, a–z, 0–9)` and underscores `(_)`.
        - `type` 'String' | 'Boolean' | 'DateTime' | 'Numeric' | 'Decimal', required: Field data type within a List item.

## Other responses

- `400`: Invalid resource representation
- `401`: Unauthorized
- `403`: Forbidden
- `404`: No matches
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
