Salsify Records API

The Records API from Salsify — 6 operation(s) for records.

OpenAPI Specification

salsify-records-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salsify Records API
  version: '1.0'
  description: 'Operations tagged Records across 2 of this provider''s published API definitions: salsify-api-settings-openapi.json, salsify-write-operations-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://app.salsify.com/api/v1/orgs
security:
- sec0: []
tags:
- name: Records
paths:
  /{org_id}/records/{salsify:id}:
    servers:
    - url: https://app.salsify.com/api/v1/orgs
    get:
      summary: Read Record
      description: ''
      operationId: read-record
      parameters:
      - name: org_id
        in: path
        description: Salsify organization's unique identifier. Visit your Salsify organization and pull from the URL path, immediately following /orgs/
        schema:
          type: string
        required: true
      - name: salsify_id
        in: path
        description: Salsify record ID for uniquely identifying a record.
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"salsify:id\": \"102918\",\n    \"salsify:created_at\": \"2016-02-29T20:42:44.488Z\",\n    \"salsify:updated_at\": \"2017-11-28T17:24:45.515Z\",\n    \"salsify:version\": 61,\n    \"salsify:relations_updated_at\": \"2016-11-07T20:09:53.188Z\",\n    \"salsify:profile_asset_id\": null,\n    \"salsify:parent_id\": \"MCS269\",\n    \"salsify:system_id\": \"s-999-999-999-999\",\n    \"Record ID\": \"102918\",\n    \"Record Name\": \"Jetsetter Carry On Roller - Purple\",\n    \"Main Image\": \"8d538dcbfd2d5547f7080f2408e7457e96c0451a\",\n    \"UPC\": \"143287212918\",\n    \"Certifications\": \"TSA-Approved\",\n    \"Assembly Country of Origin\": \"US\",\n    \"Component Country of Origin\": \"China\",\n    \"Warnings\": \"<p>WARNING: To avoid danger of suffocation, keep inner plastic bag away from babies and children. Do not use bag in cribs, beds, carriages or play pens. This bag is not a toy.</p>\",\n    \"Active Date\": [\n        \"2015-05-01\",\n        \"2017-10-17\"\n    ],\n    \"HTML Description\": \"<p>The 21\\\" Spinner is part of the Jetsetter Collection. Pack away any travel worries and woes with the efficient design of the Jettsetter rolling bag. Features top and side carrying handles for easy lifting, dual-tube handle with push-button extension. Maneuvers easily on four 360 degree wheels. Easy upright rolling for minimal arm strain. Jetset in style!</p>\\n<ul>\\n\\t<li>Constructed of 100% polycarbonate material.</li>\\n\\t<li>Four spinner wheels provide a silent and smooth roll.</li>\\n\\t<li>Fully-lined interior with two compartments for organized packing.</li>\\n</ul>\",\n    \"Link\": \"http://salsify.com\",\n    \"YouTube video\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n    \"Formatted Retail Price\": \"$100.74\",\n    \"Formatted Base Wholesale Price\": \"$89.45\",\n    \"Sellable Package Length - Metric\": \"54.991\",\n    \"Formatted MSRP\": \"$110.99\",\n    \"Variant Type\": \"Color\",\n    \"Manufacturer\": \"Wildflower, LLC\",\n    \"Sellable Package Width - Metric\": \"52.5018\",\n    \"Sellable Package Height - Metric\": \"63.1444\",\n    \"Warranty Length (in years)\": \"5\",\n    \"salsify:digital_assets\": [\n        {\n            \"salsify:id\": \"8d538dcbfd2d5547f7080f2408e7457e96c0451a\",\n            \"salsify:url\": \"http://images.salsify.com/image/upload/s--u92Eqptx--/u4lc6fg1w17qzturwna3.jpg\",\n            \"salsify:name\": \"purple-carryon.jpg\",\n            \"salsify:created_at\": \"2016-02-28T00:23:28.777Z\",\n            \"salsify:updated_at\": \"2017-05-21T03:18:00.302Z\",\n            \"salsify:status\": \"completed\",\n            \"salsify:asset_height\": 2000,\n            \"salsify:asset_width\": 2000,\n            \"salsify:asset_resource_type\": \"image\",\n            \"salsify:filename\": \"purple-carryon.jpg\",\n            \"salsify:bytes\": 231018,\n            \"salsify:format\": \"jpg\",\n            \"salsify:etag\": \"593ea8d4b29d40c1ed7ef339966a6408\",\n            \"salsify:system_id\": \"s-d94cfcde-cb76-403a-80d3-1d6cbfaa48d9\",\n            \"Brand\": \"Jetsetter\",\n            \"Color\": \"Purple\"\n        }\n    ]\n}"
              schema:
                type: object
                properties:
                  salsify:id:
                    type: string
                    example: '102918'
                  salsify:created_at:
                    type: string
                    example: '2016-02-29T20:42:44.488Z'
                  salsify:updated_at:
                    type: string
                    example: '2017-11-28T17:24:45.515Z'
                  salsify:version:
                    type: integer
                    example: 61
                    default: 0
                  salsify:relations_updated_at:
                    type: string
                    example: '2016-11-07T20:09:53.188Z'
                  salsify:profile_asset_id: {}
                  salsify:parent_id:
                    type: string
                    example: MCS269
                  salsify:system_id:
                    type: string
                    example: s-999-999-999-999
                  Record ID:
                    type: string
                    example: '102918'
                  Record Name:
                    type: string
                    example: Jetsetter Carry On Roller - Purple
                  Main Image:
                    type: string
                    example: 8d538dcbfd2d5547f7080f2408e7457e96c0451a
                  UPC:
                    type: string
                    example: '143287212918'
                  Certifications:
                    type: string
                    example: TSA-Approved
                  Assembly Country of Origin:
                    type: string
                    example: US
                  Component Country of Origin:
                    type: string
                    example: China
                  Warnings:
                    type: string
                    example: '<p>WARNING: To avoid danger of suffocation, keep inner plastic bag away from babies and children. Do not use bag in cribs, beds, carriages or play pens. This bag is not a toy.</p>'
                  Active Date:
                    type: array
                    items:
                      type: string
                      example: '2015-05-01'
                  HTML Description:
                    type: string
                    example: "<p>The 21\" Spinner is part of the Jetsetter Collection. Pack away any travel worries and woes with the efficient design of the Jettsetter rolling bag. Features top and side carrying handles for easy lifting, dual-tube handle with push-button extension. Maneuvers easily on four 360 degree wheels. Easy upright rolling for minimal arm strain. Jetset in style!</p>\n<ul>\n\t<li>Constructed of 100% polycarbonate material.</li>\n\t<li>Four spinner wheels provide a silent and smooth roll.</li>\n\t<li>Fully-lined interior with two compartments for organized packing.</li>\n</ul>"
                  Link:
                    type: string
                    example: http://salsify.com
                  YouTube video:
                    type: string
                    example: https://www.youtube.com/watch?v=dQw4w9WgXcQ
                  Formatted Retail Price:
                    type: string
                    example: $100.74
                  Formatted Base Wholesale Price:
                    type: string
                    example: $89.45
                  Sellable Package Length - Metric:
                    type: string
                    example: '54.991'
                  Formatted MSRP:
                    type: string
                    example: $110.99
                  Variant Type:
                    type: string
                    example: Color
                  Manufacturer:
                    type: string
                    example: Wildflower, LLC
                  Sellable Package Width - Metric:
                    type: string
                    example: '52.5018'
                  Sellable Package Height - Metric:
                    type: string
                    example: '63.1444'
                  Warranty Length (in years):
                    type: string
                    example: '5'
                  salsify:digital_assets:
                    type: array
                    items:
                      type: object
                      properties:
                        salsify:id:
                          type: string
                          example: 8d538dcbfd2d5547f7080f2408e7457e96c0451a
                        salsify:url:
                          type: string
                          example: http://images.salsify.com/image/upload/s--u92Eqptx--/u4lc6fg1w17qzturwna3.jpg
                        salsify:name:
                          type: string
                          example: purple-carryon.jpg
                        salsify:created_at:
                          type: string
                          example: '2016-02-28T00:23:28.777Z'
                        salsify:updated_at:
                          type: string
                          example: '2017-05-21T03:18:00.302Z'
                        salsify:status:
                          type: string
                          example: completed
                        salsify:asset_height:
                          type: integer
                          example: 2000
                          default: 0
                        salsify:asset_width:
                          type: integer
                          example: 2000
                          default: 0
                        salsify:asset_resource_type:
                          type: string
                          example: image
                        salsify:filename:
                          type: string
                          example: purple-carryon.jpg
                        salsify:bytes:
                          type: integer
                          example: 231018
                          default: 0
                        salsify:format:
                          type: string
                          example: jpg
                        salsify:etag:
                          type: string
                          example: 593ea8d4b29d40c1ed7ef339966a6408
                        salsify:system_id:
                          type: string
                          example: s-d94cfcde-cb76-403a-80d3-1d6cbfaa48d9
                        Brand:
                          type: string
                          example: Jetsetter
                        Color:
                          type: string
                          example: Purple
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -X GET \\\n  https://app.salsify.com/api/v1/orgs/s-999-999-999-999/records/102918 \\\n  -H 'authorization: Bearer YOUR-AUTH-TOKEN' \\\n  \n# where org_id = s-999-999-999-999, salsify:id=102918, api_token = YOUR-AUTH-TOKEN"
          name: cURL
        - language: ruby
          code: 'require ''uri''

            require ''net/http''


            url = URI("https://app.salsify.com/api/v1/orgs/s-999-999-999-999/records/102918")


            http = Net::HTTP.new(url.host, url.port)

            http.use_ssl = true

            http.verify_mode = OpenSSL::SSL::VERIFY_NONE


            request = Net::HTTP::Get.new(url)

            request["authorization"] = ''Bearer YOUR-AUTH-TOKEN''


            response = http.request(request)

            puts response.read_body


            # where org_id = s-999-999-999-999, salsify:id=102918, api_token = YOUR-AUTH-TOKEN'
          name: Ruby
        - language: python
          code: "import http.client\n\nconn = http.client.HTTPSConnection(\"app.salsify.com\")\n\nheaders = {\n    'authorization': \"Bearer YOUR-AUTH-TOKEN\",\n    }\n\nconn.request(\"GET\", \"/api/v1/orgs/s-999-999-999-999/records/102918\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))\n\n# where org_id = s-999-999-999-999, salsify:id=102918, api_token = YOUR-AUTH-TOKEN"
          name: Python
        samples-languages:
        - curl
        - ruby
        - python
      tags:
      - Records
  /{org_id}/records:
    servers:
    - url: https://app.salsify.com/api/v1/orgs
    get:
      summary: Bulk Read Records
      description: ''
      operationId: bulk-read-records
      parameters:
      - name: org_id
        in: path
        description: The Salsify organization's unique identifier. Visit your Salsify organization and pull from the URL path, immediately following /orgs/
        schema:
          type: string
        required: true
      - name: filter
        in: query
        description: Limit the scope of records returned from the endpoint. Details on how to build filters are available [here](https://developers.salsify.com/reference/salsify-filtering-language-syntax)
        schema:
          type: string
      - name: page
        in: query
        description: Page number
        schema:
          type: integer
          format: int32
      - name: per_page
        in: query
        description: Number of results per page
        schema:
          type: integer
          format: int32
      - name: record_type
        in: query
        description: Limit the scope to a specific record type
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n   \"data\": [\n     {\n       \"salsify:id\": \"4a4393f6-54d7-4963-a3c0-b3a083c2440c\",\n       \"Name\": \"My Record\"\n     }\n   ],\n   \"meta\": {\n       \"per_page\": 100,\n       \"cursor\": null,\n       \"total_entries\": 1,\n       \"current_page\": 1\n   }\n}"
                Empty Results:
                  value: "{\n   \"data\": [],\n   \"meta\": {\n       \"per_page\": 100,\n       \"cursor\": null,\n       \"total_entries\": 0\n   }\n}"
              schema:
                oneOf:
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          salsify:id:
                            type: string
                            example: 4a4393f6-54d7-4963-a3c0-b3a083c2440c
                          Name:
                            type: string
                            example: My Record
                    meta:
                      type: object
                      properties:
                        per_page:
                          type: integer
                          example: 100
                          default: 0
                        cursor: {}
                        total_entries:
                          type: integer
                          example: 1
                          default: 0
                        current_page:
                          type: integer
                          example: 1
                          default: 0
                - title: Empty Results
                  type: object
                  properties:
                    data:
                      type: array
                    meta:
                      type: object
                      properties:
                        per_page:
                          type: integer
                          example: 100
                          default: 0
                        cursor: {}
                        total_entries:
                          type: integer
                          example: 0
                          default: 0
        '422':
          description: '422'
          content:
            application/json:
              examples:
                Invalid Filter:
                  value: "{\n  \"errors\": [\n    \"Filter is invalid\"\n  ]\n}"
                Result Window Exceeded:
                  value: "{\n  \"errors\": [\n    \"result_window limit of 10025 exceeded 10000\"\n  ]\n}"
              schema:
                oneOf:
                - title: Invalid Filter
                  type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: string
                        example: Filter is invalid
                - title: Result Window Exceeded
                  type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: string
                        example: result_window limit of 10025 exceeded 10000
      deprecated: false
      tags:
      - Records
    post:
      summary: Bulk Create Records
      description: ''
      operationId: bulk-create-records
      parameters:
      - name: org_id
        in: path
        description: The Salsify organization's unique identifier. Visit your Salsify organization and pull from the URL path, immediately following /orgs/
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - record_id
              properties:
                record_id:
                  type: string
                  description: Property ID of the property that is set as the record ID role in Salsify. Record ID value cannot begin with `=`, `_`, or `salsify`. Must be unique, and is case sensitive.
                record_name:
                  type: string
                  description: Property ID for the property that is set as the record name role in Salsify. Record name will be left blank if not included.
                additional_properties:
                  type: string
                  description: 'Additional information to store in properties associated with the record, sent in value pairs of `property_id : property_value`. Property IDs that don''t exist in the Salsify org will be created with a default string data type. Accepts multiple property values as arrays.'
      responses:
        '201':
          description: '201'
          content:
            application/json:
              examples:
                Result:
                  value: "[\n    {\n        \"salsify:id\": \"123\",\n        \"salsify:created_at\": \"2018-10-04T22:30:03.910Z\",\n        \"salsify:updated_at\": \"2018-10-04T22:30:03.910Z\",\n        \"salsify:version\": 0,\n        \"salsify:profile_asset_id\": null,\n        \"salsify:system_id\": \"s-73cae1fc-f7c2-45c7-bce4-3cc8185ac5a5\",\n        \"Record ID\": \"123\",\n        \"Record Name\": \"Record 123\",\n        \"Short Description\": \"These colorful Traveller headphones have a sturdy yet comfortable headband with padded ear cups for long term listening. The specially designed ear cups surround the ear cancelling out any ambient noise.\",\n        \"Manufacturer\": \"Wildflower Imports, Inc.\"\n    },\n    {\n        \"salsify:id\": \"456\",\n        \"salsify:created_at\": \"2018-10-04T22:30:03.910Z\",\n        \"salsify:updated_at\": \"2018-10-04T22:30:03.910Z\",\n        \"salsify:version\": 0,\n        \"salsify:profile_asset_id\": null,\n        \"salsify:system_id\": \"s-d158ff9d-e327-4c8e-bc13-1139b250ed56\",\n        \"Record ID\": \"456\",\n        \"Record Name\": \"Record 456\",\n        \"Material\": \"plastic\",\n        \"Tags\": [\n            \"headphones\",\n            \"noise cancelling\"\n        ],\n        \"Manufacturer\": \"Wildflower Imports, Inc.\"\n    }\n]"
              schema:
                type: array
                items:
                  type: object
                  properties:
                    salsify:id:
                      type: string
                      example: '123'
                    salsify:created_at:
                      type: string
                      example: '2018-10-04T22:30:03.910Z'
                    salsify:updated_at:
                      type: string
                      example: '2018-10-04T22:30:03.910Z'
                    salsify:version:
                      type: integer
                      example: 0
                      default: 0
                    salsify:profile_asset_id: {}
                    salsify:system_id:
                      type: string
                      example: s-73cae1fc-f7c2-45c7-bce4-3cc8185ac5a5
                    Record ID:
                      type: string
                      example: '123'
                    Record Name:
                      type: string
                      example: Record 123
                    Short Description:
                      type: string
                      example: These colorful Traveller headphones have a sturdy yet comfortable headband with padded ear cups for long term listening. The specially designed ear cups surround the ear cancelling out any ambient noise.
                    Manufacturer:
                      type: string
                      example: Wildflower Imports, Inc.
        '422':
          description: '422'
          content:
            application/json:
              examples:
                Record ID property missing:
                  value: "{\n    \"errors\": [\n        \"Missing required property your-record-id\"\n    ]\n}\n\n//where your-record-id is the property ID of the property that serves the salsify:id role."
                Record ID value is not unique:
                  value: "{\n    \"errors\": [\n        \"A record already exists with the same id.\"\n    ]\n}"
              schema:
                oneOf:
                - title: Record ID property missing
                  type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: string
                        example: Missing required property your-record-id
                - title: Record ID value is not unique
                  type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: string
                        example: A record already exists with the same id.
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -X POST \\\n  https://app.salsify.com/api/v1/orgs/s-999-999-999-999/records \\\n  -H 'Authorization: Bearer YOUR-AUTH-TOKEN' \\\n  -H 'Content-Type: application/json' \\\n  -d '[\n  {\n    \"Record ID\":\"123\",\n    \"Record Name\":\"Record 123\",\n    \"Short Description\":\"These colorful Traveller headphones have a sturdy yet comfortable headband with padded ear cups for long term listening. The specially designed ear cups surround the ear cancelling out any ambient noise.\"\n  },\n  {\n    \"Record ID\":\"456\",\n    \"Record Name\":\"Record 456\",\n    \"Material\":\"plastic\",\n    \"Tags\":[\"headphones\",\"noise cancelling\"]\n  }\n]'\n\n# where org_id = s-999-999-999-999, Record ID is the system record identifier, and api_token = YOUR-AUTH-TOKEN"
          name: cURL
        - language: ruby
          code: 'require ''uri''

            require ''net/http''


            url = URI("https://app.salsify.com/api/v1/orgs/s-999-999-999-999/records")


            http = Net::HTTP.new(url.host, url.port)

            http.use_ssl = true

            http.verify_mode = OpenSSL::SSL::VERIFY_NONE


            request = Net::HTTP::Post.new(url)

            request["authorization"] = ''Bearer YOUR-AUTH-TOKEN''

            request["content-type"] = ''application/json''

            request.body = "{\n\t\"Record ID\":\"My New Record\",\n\t\"Record Name\":\"New Record Name\"\n}"


            response = http.request(request)

            puts response.read_body


            # where org_id = s-999-999-999-999, Record ID is the system record identifier, and api_token = YOUR-AUTH-TOKEN'
          name: Ruby
        - language: python
          code: "import http.client\n\nconn = http.client.HTTPConnection(\"app.salsify.com\")\n\npayload = \"[\\n  {\\n    \\\"Record ID\\\":\\\"123\\\",\\n    \\\"Record Name\\\":\\\"Record 123\\\",\\n    \\\"Short Description\\\":\\\"These colorful Traveller headphones have a sturdy yet comfortable headband with padded ear cups for long term listening. The specially designed ear cups surround the ear cancelling out any ambient noise.\\\"\\n  },\\n  {\\n    \\\"Record ID\\\":\\\"456\\\",\\n    \\\"Record Name\\\":\\\"Record 456\\\",\\n    \\\"Material\\\":\\\"plastic\\\",\\n    \\\"Tags\\\":[\\\"headphones\\\",\\\"noise cancelling\\\"]\\n  }\\n]\"\n\nheaders = {\n    'Authorization': \"Bearer YOUR-AUTH-TOKEN\",\n    'Content-Type': \"application/json\",\n    }\n\nconn.request(\"POST\", \"api,v1,orgs,s-492247e8-0e24-47e9-8af5-d07defe563dc,records\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))\n\n# where org_id = s-999-999-999-999, Record ID is the system record identifier, and api_token = YOUR-AUTH-TOKEN"
          name: Python
        samples-languages:
        - curl
        - ruby
        - python
      tags:
      - Records
    put:
      summary: Bulk Update Records
      description: ''
      operationId: bulk-update-records
      parameters:
      - name: org_id
        in: path
        description: The Salsify organization's unique identifier. Visit your Salsify organization and pull from the URL path, immediately following /orgs/
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - record_id
              properties:
                record_id:
                  type: string
                  description: Value to identify record, stored in property with unique record identifier role in your Salsify organization.
                properties:
                  type: string
                  description: 'Properties can be added in value pairs. {property_id} : {property_value} where property_id is a Salsify property, and property_value is the corresponding property value. If property_id does not exist in org, property will be created.'
      responses:
        '204':
          description: '204'
          content:
            text/plain:
              examples:
                Result:
                  value: Returned when content is successfully updated in Salsify.
        '404':
          description: '404'
          content:
            text/plain:
              examples:
                Result:
                  value: Returned when salsify:id does not exist or org ID is incorrect.
        '422':
          description: '422'
          content:
            application/json:
              examples:
                Record Does not Exist:
                  value: "{\n    \"errors\": [\n        [\n            \"Record '123' does not exist.\"\n        ],\n        []\n    ]\n}"
                Missing Record ID Property:
                  value: "{\n    \"errors\": [\n        [\n            \"Missing required property Record ID\"\n        ]\n    ]\n}"
              schema:
                oneOf:
                - title: Record Does not Exist
                  type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: array
                        items:
                          type: string
                          example: Record '123' does not exist.
                - title: Missing Record ID Property
                  type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: array
                        items:
                          type: string
                          example: Missing required property Record ID
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -X PUT \\\n  https://app.salsify.com/api/v1/orgs/s-999-999-999-999/records \\\n  -H 'Authorization: Bearer YOUR-AUTH-TOKEN' \\\n  -H 'Cache-Control: no-cache' \\\n  -H 'Content-Type: application/json' \\\n  -d '[\n\t{\n    \"Record ID\":\"123\",\n    \"Record Name\":\"My Test Record'\\''s Name\",\n    \"Brand\": null\n\t},\n\t{\n    \"Record ID\":\"456\",\n    \"Record Name\":\"Another Test Record\",\n    \"Short Description\": \"These colorful Traveller headphones have a sturdy yet comfortable headband with padded ear cups for long term listening. The specially designed ear cups surround the ear cancelling out any ambient noise.\",\n    \"Tags\": [\n        \"headphones\",\n        \"noise cancelling\",\n        \"wireless\"\n    \t]\n\t}\n]'\n\n# where org_id = s-999-999-999-999, record_id=123,456 api_token = YOUR-AUTH-TOKEN"
        - language: ruby
          code: 'require ''uri''

            require ''net/http''


            url = URI("https://app.salsify.com/api/v1/orgs/s-999-999-999-999/records")


            http = Net::HTTP.new(url.host, url.port)


            request = Net::HTTP::Put.new(url)

            request["Authorization"] = ''Bearer YOUR-AUTH-TOKEN''

            request["Content-Type"] = ''application/json''

            request.body = "[\n\t{\n    \"Record ID\":\"123\",\n    \"Record Name\":\"My Test Record''s Name\",\n    \"Brand\": null\n\t},\n\t{\n    \"Record ID\":\"456\",\n    \"Record Name\":\"Another Test Record\",\n    \"Short Description\": \"These colorful Traveller headphones have a sturdy yet comfortable headband with padded ear cups for long term listening. The specially designed ear cups surround the ear cancelling out any ambient noise.\",\n    \"Tags\": [\n        \"headphones\",\n        \"noise cancelling\",\n        \"wireless\"\n    \t]\n\t}\n]"


            response = http.request(request)

            puts response.read_body


            # where org_id = s-999-999-999-999, record_id=123, api_token = YOUR-AUTH-TOKEN'
        - language: python
          code: "import http.client\n\nconn = http.client.HTTPConnection(\"app.salsify.com\")\n\npayload = \"[\\n\\t{\\n    \\\"Record ID\\\":\\\"123\\\",\\n    \\\"Record Name\\\":\\\"My Test Record's Name\\\",\\n    \\\"Brand\\\": null\\n\\t},\\n\\t{\\n    \\\"Record ID\\\":\\\"456\\\",\\n    \\\"Record Name\\\":\\\"Another Test Record\\\",\\n    \\\"Short Description\\\": \\\"These colorful Traveller headphones have a sturdy yet comfortable headband with padded ear cups for long term listening. The specially designed ear cups surround the ear cancelling out any ambient noise.\\\",\\n    \\\"Tags\\\": [\\n        \\\"headphones\\\",\\n        \\\"noise cancelling\\\",\\n        \\\"wireless\\\"\\n    \\t]\\n\\t}\\n]\"\n\nheaders = {\n    'Authorization': \"Bearer YOUR-AUTH-TOKEN\",\n    'Content-Type': \"application/json\",\n\n    }\n\nconn.request(\"PUT\", \"api,v1,orgs,s-999-999-999-999,records\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))\n\n# where org_id = s-999-999-999-999, records_id=123, api_token = YOUR-AUTH-TOKEN"
        samples-languages:
        - curl
        - ruby
        - python
      tags:
      - Records
    delete:
      summary: Bulk Delete Records
      description: ''
      operationId: bulk-delete-records
      parameters:
      - name: org_id
        in: path
        description: The Salsify organization's unique identifier. Visit your Salsify organization and pull from the URL path, immediately following /orgs/
        schema:
          type: string
        required: true
      - name: Content-Type
        in: header
        schema:
          type: string
          default: application/json
      - name: Authorization
        in: header
        description: Your Authentication Bearer Token
        schema:
      

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/salsify/refs/heads/main/openapi/salsify-records-api-openapi.yml