Fetch a single property by its ID.
AuthorizationRequiredBearer <token>API key as Bearer token
In: header
idRequiredstringThe ID of the property.
curl -X GET "https://api.3common.com/v1/properties/string" \
-H "Authorization: Bearer <token>"{
"data": {
"type": "Text",
"id": "string",
"name": "string",
"description": "string",
"status": "active",
"objectType": "event"
}
}export interface Response {
data:
| {
type: "Text";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
type: "Multi-line Text";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
options: {
/**
* The value stored when this option is selected.
*/
value: string;
/**
* The display label for this option.
*/
label: string;
}[];
type: "Select One";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
type: "Yes/No";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
options: {
/**
* The value stored when this option is selected.
*/
value: string;
/**
* The display label for this option.
*/
label: string;
}[];
type: "Select Multiple";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
type: "Date";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
type: "File";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
type: "Email";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
}
| {
type: "Phone";
/**
* This property's unique ID.
*/
id: string;
/**
* The property's name. Must be unique among other properties for the same
* `objectType` (case-insensitive).
*/
name: string;
/**
* Optional information about this property.
*/
description?: string;
/**
* Determines where this property can be used. "archived" properties are
* soft-deleted (any existing reference to them remains valid) but only "active"
* properties should be used in new workflows, forms, etc.
*/
status: "active" | "archived";
/**
* The type of object this property belongs to.
* - event: properties on events
* - order: properties on orders (buyer-level)
* - ticket: properties on individual products within an order (tickets, add-ons, etc.)
* - contact: properties on customer contact records
*/
objectType: "event" | "order" | "ticket" | "contact";
};
}
Create Property
Create a new property. Note that "type" and "objectType" can ONLY be set when creating the property and CANNOT be modified! Returns the created property, which will have an ID generated for it. For 'Select One' and 'Select Multiple' types, `options` is required and must have at least one entry.
Edit Property
Edit the property with the given ID. Note that "type" and "objectType" cannot be modified on existing properties. Only fields included in `updates` will be modified, other fields will be left unchanged. `description` can be set to null to remove it entirely. To retire a property, set `status` to "archived". Properties cannot be fully deleted to preserve referential integrity. WARNING: for "Select One" and "Select Multiple" properties, an option's `value` is the identity that gets persisted on every instance that selected it (e.g. a contact). Changing an existing option's `value` does NOT migrate those instances, so they keep the old value and no longer match any option. In this case, the UI would show the raw stored value instead of a label. Rename an option by changing its `label` only; change a `value` only if no existing instances use the old one. Returns the full property after the update is applied.