List of Operations
The property API is a REST API supporting the following actions and endpoints:
- Fetch a single property - GET https://app.salsify.com/api/v1/orgs/<org_ID>/properties/<property_id>
- Fetch multiple properties - REPORT https://app.salsify.com/api/v1/orgs/<org_ID>/properties
- Create a property - POST https://app.salsify.com/api/v1/orgs/<org_ID>/properties
- Update a property - PUT https://app.salsify.com/api/v1/orgs/<org_ID>/properties/<property_id>
- Delete a property - DELETE https://app.salsify.com/api/v1/orgs/<org_ID>/properties/<property_id>
<property_id> should be replaced with the unique Salsify identifier for each property.
<org_id> should be replaced by the organization ID which is unique to each Salsify app instance. The org ID can be found after /orgs/ in the URL path for your Salsify organization, eg. in https://app.salsify.com/app/orgs/9-99999-9999-9999-9999-999999999/products the org ID is 9-99999-9999-9999-9999-999999999.
Fetching Properties
GET - fetch single property /api/v1/orgs/<org_ID>/properties/<property_id>
Required Parameters
- salsify:id - The identifier to use for the property.
Example Request:
GET /api/v1/orgs/9-99999-9999-9999-9999-999999999/properties/Aspect%20ratio
Example Response:
{
"salsify:id":"Aspect ratio",
"salsify:name":"Aspect ratio",
"salsify:data_type":"string",
"salsify:entity_types":[],
"salsify:is_facetable":true,
"salsify:attribute_group":"Unassigned",
"salsify:position":null,
"salsify:help_text":null,
"salsify:manage_permissions":null,
"salsify:read_permissions":null,
"salsify:hidden_permissions":null,
"salsify:created_at":"2017-03-03T17:06:31.314Z",
"salsify:updated_at":"2017-03-03T17:06:31.314Z",
"salsify:system_id":"s-bde4bc27-4c08-40b4-baca-457cca51d13b"
}
REPORT
REPORT - fetch multiple properties - /api/v1/orgs/<org_ID>/properties
Example request:
REPORT /api/v1/orgs/9-99999-9999-9999-9999-999999999/properties
{
"ids": [
"Aspect ratio",
"Batteries"
]
}
Example Response:
[
{
"salsify:id":"Aspect ratio",
"salsify:name":"Aspect ratio",
"salsify:data_type":"string",
"salsify:entity_types":[],
"salsify:is_facetable":true,
"salsify:attribute_group":"Unassigned",
"salsify:position":null,
"salsify:help_text":null,
"salsify:manage_permissions":null,
"salsify:read_permissions":null,
"salsify:hidden_permissions":null,
"salsify:created_at":"2017-03-03T17:06:31.314Z",
"salsify:updated_at":"2017-03-03T17:06:31.314Z",
"salsify:system_id":"s-bde4bc27-4c08-40b4-baca-457cca51d13b"
},
{
"salsify:id":"Batteries",
"salsify:name":"Batteries",
"salsify:data_type":"string",
"salsify:entity_types":["products"],
"salsify:is_facetable":true,
"salsify:attribute_group":"Unassigned",
"salsify:position":null,
"salsify:help_text":null,
"salsify:manage_permissions":null,
"salsify:read_permissions":null,
"salsify:hidden_permissions":null,
"salsify:created_at":"2017-03-03T17:06:31.314Z",
"salsify:updated_at":"2017-03-03T17:06:31.314Z",
"salsify:system_id":"s-0d9c52cc-331f-41de-820f-194d183102d8"
}
]
CREATE
POST /api/v1/orgs/<org_ID>/properties/<property_id>
Can be used to fetch single or multiple properties.
Required Parameters
- salsify:id - The identifier to use for the property.
Optional Parameters
- salsify:name - The label used in Salsify for the property. Best practice is name is the same as ID.
- salsify:data_type - Type of data the field holds. If not specified, defaults to string. Valid property types:
- (default) - plain text, accepts alpha numeric and special characters, case sensitive.
- link - a url
- html
- rich_text - accepts alpha-numeric and special characters with formatting, case sensitive.
- enumerated - an enumerated set of attribute values. Plain text, alpha numeric characters, hierarchical, fixed set, case sensitive.
- number - Plain, numeric characters only
- date - yyyy-mm-dd format
- boolean - Accepts y, yes, n, no, true, false, not case sensitive. Exports to JSON format as true or false.
- digital_asset
Click here for details on other available parameters.
Example Request:
POST /api/v1/orgs/9-99999-9999-9999-9999-999999999/properties
{
"salsify:id":"Aspect ratio",
"salsify:name":"Aspect ratio",
"salsify:data_type":"string"
}
Example Response:
{
"salsify:id":"Aspect ratio",
"salsify:name":"Aspect ratio",
"salsify:data_type":"string",
"salsify:entity_types":[],
"salsify:is_facetable":true,
"salsify:attribute_group":"Unassigned",
"salsify:position":null,
"salsify:help_text":null,
"salsify:manage_permissions":null,
"salsify:read_permissions":null,
"salsify:hidden_permissions":null,
"salsify:created_at":"2017-03-03T17:06:31.314Z",
"salsify:updated_at":"2017-03-03T17:06:31.314Z",
"salsify:system_id":"s-bde4bc27-4c08-40b4-baca-457cca51d13b"
}
UPDATE
PUT - /api/v1/orgs/<org_ID>/properties/<property_id>
Any JSON format parameters can be included in update. Click here for details on other parameters.
Example Request:
PUT /api/v1/orgs/9-99999-9999-9999-9999-999999999/properties/Aspect%20ratio
{
"salsify:name":"Aspect Ratio's New Name!"
}
Example Response:
[EMPTY]
DELETE
DELETE - /api/v1/orgs/<org_ID>/properties/<property_id>
Example Request:
DELETE /api/v1/orgs/9-99999-9999-9999-9999-999999999/properties/Aspect%20ratio
Example Response:
[EMPTY]