For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
LoginTalk to us
DocumentationSDKsConnectAPI Reference
DocumentationSDKsConnectAPI Reference
  • API Reference
      • POSTUpdate User Property
      • POSTSet an Unset Property
      • POSTIncrement/Decrement Numeric Property
      • POSTAppend Values to List
      • POSTRemove Value From List
      • POSTUnset User Property
      • POSTBatch Update User Properties
LogoLogo
LoginTalk to us
API ReferenceUser Properties

Set an Unset Property

POST
https://api.fyno.io/v1/:WSID/:version/profiles/properties/set-once
POST
/v1/:WSID/:version/profiles/properties/set-once
$curl -X POST https://api.fyno.io/v1/FYXXXXXXXX/live/profiles/properties/set-once \
> -H "Authorization: Bearer <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "$once": {
> "property_1": "some text",
> "property_2": 123,
> "property_3": 45.67,
> "property_4": true,
> "property_5": false,
> "property_6": "2020-10-01T18:30:00.000Z",
> "property_7": "2021-12-01",
> "property_8": [
> "iPhone 16 Pro",
> "iPad 32 GB"
> ],
> "property_9": [
> 23000,
> 20.34
> ],
> "property_n": [
> "2020-10-01T18:30:00Z",
> "2021-11-01T13:35:00+02:00",
> "2023-12-05"
> ]
> },
> "distinct_id": "XXXXXXXX"
>}'
1{
2 "request_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
3}
This API enables you to set user properties of your users listed in your [User Profiles](../user-profiles-overview) **only if it is currently unset.** If the given payload contains a mix of properties that are currently set and unset, then it will only add values to the properties that are currently unset and ignore the other properties. If the user with distinct ID doesn't exist, it creates a new user with the provided distinct ID and sets values for all the provided properties.<br/><br/>**Note:** If a [property was not created earlier](../adding-new-user-property#how-to-add-a-new-user-property-from-user-profile-page), it will create a new property and the data type of the property will be determined based on the data type of the value. For example, if you `$once` a new property called `premium_user=true`, it will create the `premium_user` property with `Boolean` type and value `true`.<br/><br/>The property values can take the following data types:<ul> <li>**String:** Can be alphanumeric and contain a maximum of 255 characters. Example: `user_type=Premium` or `membership_number=ABC123`.</li> <li>**Number:** Can be an integer or a decimal. Example: `ltv=23000` or `cost=20.34`.</li> <li>**Boolean:** Can only contain `true` or `false` values.</li> <li>**Date:** Must be in ISO 8601 format. Example: `membership_date=2020-10-01T18:30:00.000Z` or `membership_date=2020-10-01T18:30:00Z` or `membership_date=2020-10-01T18:30:00.000+05:30` or `membership_date=2020-10-01T18:30:00+02:00` or `membership_date=2020-10-01`.</li> <li>**List:** Can contain an array of strings, numbers, and dates. Example: `products_ordered=['iPhone 16 Pro', 'iPad 32 GB']` or `purchase_amount=[23000, 20.34]` or `purchase_date=['2020-10-01T18:30:00Z', '2021-11-01T13:35:00+02:00', '2023-12-05']`</li> </ul>If you try to set a value with a data type that does not match the predefined property type, the API will accept the request but ignore the invalid value. For example, if a predefined property `cost` expects a numeric value and you try to set it to `ABC`, the API will not store the value.<br/><br/>These user properties can be used to filter your users for creating [user cohorts](../creating-cohorts) and [campaigns](../campaign_creation#creating-a-campaign-using-cohort).
Was this page helpful?
Previous

Increment/Decrement Numeric Property

Next
Built with
This API enables you to set user properties of your users listed in your User Profiles only if it is currently unset. If the given payload contains a mix of properties that are currently set and unset, then it will only add values to the properties that are currently unset and ignore the other properties. If the user with distinct ID doesn’t exist, it creates a new user with the provided distinct ID and sets values for all the provided properties.

Note: If a property was not created earlier, it will create a new property and the data type of the property will be determined based on the data type of the value. For example, if you $once a new property called premium_user=true, it will create the premium_user property with Boolean type and value true.

The property values can take the following data types:
  • String: Can be alphanumeric and contain a maximum of 255 characters. Example: user_type=Premium or membership_number=ABC123.
  • Number: Can be an integer or a decimal. Example: ltv=23000 or cost=20.34.
  • Boolean: Can only contain true or false values.
  • Date: Must be in ISO 8601 format. Example: membership_date=2020-10-01T18:30:00.000Z or membership_date=2020-10-01T18:30:00Z or membership_date=2020-10-01T18:30:00.000+05:30 or membership_date=2020-10-01T18:30:00+02:00 or membership_date=2020-10-01.
  • List: Can contain an array of strings, numbers, and dates. Example: products_ordered=['iPhone 16 Pro', 'iPad 32 GB'] or purchase_amount=[23000, 20.34] or purchase_date=['2020-10-01T18:30:00Z', '2021-11-01T13:35:00+02:00', '2023-12-05']
If you try to set a value with a data type that does not match the predefined property type, the API will accept the request but ignore the invalid value. For example, if a predefined property cost expects a numeric value and you try to set it to ABC, the API will not store the value.

These user properties can be used to filter your users for creating user cohorts and campaigns.

Authentication

AuthorizationBearer
Enter your API Key. If you don't have it already, you can create one from the API Keys page within your Fyno account

Path parameters

WSIDstringRequired
Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
versionenumRequiredDefaults to live
Specify the version for which you would like to update the user property.
Allowed values:

Request

This endpoint expects an object.
$oncemap from strings to strings or doubles or booleans or dates or lists of anyRequired
Enter the property name as JSON key and the value to set as JSON value
distinct_idstringRequired
Enter the distinct ID that you use to identify the recipient.

Response

Request has been accepted and will be processed asynchronously.
request_idstring

Errors

400
Bad Request Error
401
Unauthorized Error