---
updatedAt: 2026-07-28T13:52:45.000Z
---

# Create an event

Events are the primary building block of an event-driven architecture. Applications publish and subscribe to events and events reference schemas.  In the Event Portal, an event is a type of event as opposed to a specific event instance.<br><br><a href="https://api.solace.dev/cloud/reference/authentication">Token Permissions</a>: [ `event:create:*` ]

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Event Portal - Designer",
    "description": "REST API Concepts\n\nSolace Event Portal provides REST APIs that you can use to manage your data in Solace Cloud. \nThe REST APIs allow you to model your event-driven architectures from your own client applications.\n\nThe following document describes the public REST APIs available for use in Event Portal 2.0. Objects created in this \nversion will not be available in Event Portal 1.0. APIs that display (Beta) in their summary are provided as-is and \nare subject to change or removal. They may not be of the quality expected for generally available APIs and have no \nguaranteed forward compatibility with the generally available version of the API.\n\n",
    "version": "2.13.2"
  },
  "servers": [
    {
      "url": "https://api.solace.cloud",
      "description": "Solace PubSub+ Cloud US EAST Region"
    },
    {
      "url": "https://api.solacecloud.com.au",
      "description": "Solace PubSub+ Cloud AU Region"
    },
    {
      "url": "https://api.solacecloud.eu",
      "description": "Solace PubSub+ Cloud EU Region"
    },
    {
      "url": "https://api.solacecloud.sg",
      "description": "Solace PubSub+ Cloud SG Region"
    }
  ],
  "security": [
    {
      "APIToken": []
    }
  ],
  "tags": [
    {
      "name": "Events"
    }
  ],
  "paths": {
    "/api/v2/architecture/events": {
      "post": {
        "tags": [
          "Events"
        ],
        "summary": "Create an event",
        "description": "Events are the primary building block of an event-driven architecture. Applications publish and subscribe to events and events reference schemas.  In the Event Portal, an event is a type of event as opposed to a specific event instance.<br><br><a href=\"https://api.solace.dev/cloud/reference/authentication\">Token Permissions</a>: [ `event:create:*` ]",
        "operationId": "createEvent",
        "requestBody": {
          "description": "The event requires a name and an application domain ID.",
          "content": {
            "application/json;charset=UTF-8": {
              "schema": {
                "$ref": "#/components/schemas/Event"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created an event. The newly saved event is returned in the response body.",
            "content": {
              "application/json;charset=UTF-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CustomAttribute": {
        "type": "object",
        "properties": {
          "customAttributeDefinitionId": {
            "type": "string",
            "example": "acb2j5k3mly"
          },
          "customAttributeDefinitionName": {
            "type": "string",
            "example": "color",
            "pattern": "a-zA-Z0-9_\\-\\."
          },
          "value": {
            "type": "string",
            "example": "red",
            "pattern": "a-zA-Z0-9_\\-\\."
          },
          "stringValues": {
            "type": "string",
            "example": "red",
            "pattern": "a-zA-Z0-9_\\-\\."
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "discriminator": {
          "propertyName": "errorType"
        },
        "properties": {
          "message": {
            "type": "string",
            "description": "A user-friendly message that describes the error.",
            "example": "An error occurred."
          },
          "errorId": {
            "type": "string",
            "description": "The UUID (Universally Unique Identifier) that is logged with an appropriate stack trace for a WARN or ERROR log that allows support to better determine what cause the error.",
            "example": "123e4567-e89b-12d3-a456-426655440000"
          },
          "meta": {
            "type": "object",
            "additionalProperties": {},
            "example": "'object': { 'field': 'description' }"
          },
          "validationDetails": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "When applicable, these are the details of issues with the fields provided for the REST call.",
            "example": "'name': ['Not unique']"
          },
          "errorType": {
            "type": "string",
            "writeOnly": true
          }
        }
      },
      "Event": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "createdTime": {
            "type": "string",
            "description": "The time the entity was created",
            "example": "2021-12-31T20:30:57.920Z",
            "readOnly": true
          },
          "updatedTime": {
            "type": "string",
            "description": "The time the entity was last updated",
            "example": "2021-12-31T20:30:57.920Z",
            "readOnly": true
          },
          "createdBy": {
            "type": "string",
            "description": "The user who created the entity",
            "example": 12345678,
            "readOnly": true
          },
          "changedBy": {
            "type": "string",
            "description": "The user who last updated the entity",
            "example": 12345678,
            "readOnly": true
          },
          "id": {
            "type": "string",
            "example": "xyz23mwec2g",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "example": "My First Event",
            "maxLength": 2048,
            "minLength": 1
          },
          "shared": {
            "type": "boolean",
            "example": false
          },
          "applicationDomainId": {
            "type": "string",
            "example": "acb2j5k3mly"
          },
          "brokerType": {
            "type": "string",
            "example": "kafka",
            "readOnly": true
          },
          "numberOfVersions": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            }
          },
          "requiresApproval": {
            "type": "boolean",
            "example": false
          },
          "type": {
            "type": "string",
            "readOnly": true
          }
        },
        "required": [
          "applicationDomainId",
          "name"
        ]
      },
      "EventResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Event"
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          }
        }
      },
      "InvalidNonStateReference": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          }
        }
      },
      "InvalidStateReference": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ErrorResponse"
          },
          {
            "type": "object",
            "properties": {
              "targetStateId": {
                "type": "string"
              },
              "inboundInvalidNonStateReferences": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvalidNonStateReference"
                }
              },
              "inboundInvalidStateReferences": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvalidStateReference"
                }
              },
              "outboundInvalidStateReferences": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvalidStateReference"
                }
              },
              "errorType": {
                "type": "string"
              }
            }
          }
        ]
      }
    },
    "securitySchemes": {
      "APIToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```