Property CRUD APIĀ 

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]