Skip to content
SoundSyncAudio software platform

API reference

Support Content API

Configure support contact routing, published articles, escalation copy and optional assistance settings.

One support identity, several destinations

Read settings and resolver before saving. supportEmail is the public contact. contactFormDestinationEmail is a delivery override; when absent, delivery can resolve the public-email fallback. supportUrlOverride only takes effect with its supported enabled setting. Saving a destination does not prove the mailbox exists or that delivery succeeded.

Save the fields the support service accepts

Send flat supported settings: supportEmail, businessAddress, supportPhone, primaryContactName, supportDisplayName, supportContactLabel, responseTimeMessage, availabilityMessage, contactFormEnabled, contactFormDestinationEmail, supportUrlOverride, supportUrlOverrideEnabled and supportPageEnabled.

Optional assistance settings include aiAssistantEnabled, aiAssistantTone, escalationMessage and alwaysEscalateWhenUnsure. They configure behavior; they do not guarantee a response time, autonomous resolution or availability of an AI provider. Publish only response and availability copy you can actually honor.

Articles and saves

Articles use type, title, body, optional productId, sortOrder and visible. Supported types are faq, install, activation, download, compatibility, policy, known_issue and troubleshooting. PUT and PATCH share the same normalization service rather than implementing generic JSON Patch. When articles are supplied, review the complete replacement list; omitted articles are not a safe way to preserve an existing set.

This first-party management surface requires customers.view and all-products workspace scope. It is not a public unauthenticated support-settings API. Reload settings, articles and resolver after saving; a content save does not change an entitlement or send a customer message.

SoundSync

Support workflow

Support guide

Contact forms, articles and customer context.

Customer recovery API

Private notes, access messages and device resets.

SoundSync

Requests and responses

GET /api/developer/support

Read developer support content and routing

Auth
Account Bearer JWT
Scope
customers.view and all-products workspace scope.
Returns
HTTP 200: settings, articles, legacy, resolver, source.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "settings": {
      "type": "object",
      "properties": {
        "supportEmail": {
          "type": "string"
        },
        "businessAddress": {
          "type": "string"
        },
        "supportPhone": {
          "type": "string"
        },
        "primaryContactName": {
          "type": "string"
        },
        "supportUrlOverride": {
          "type": "string"
        },
        "supportUrlOverrideEnabled": {
          "type": "boolean"
        },
        "supportDisplayName": {
          "type": "string"
        },
        "supportContactLabel": {
          "type": "string"
        },
        "responseTimeMessage": {
          "type": "string"
        },
        "availabilityMessage": {
          "type": "string"
        },
        "contactFormEnabled": {
          "type": "boolean"
        },
        "contactFormDestinationEmail": {
          "type": "string"
        },
        "aiAssistantEnabled": {
          "type": "boolean"
        },
        "aiAssistantTone": {
          "type": "string"
        },
        "escalationMessage": {
          "type": "string"
        },
        "alwaysEscalateWhenUnsure": {
          "type": "boolean"
        },
        "supportPageEnabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": true
    },
    "articles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "productId": {
            "type": [
              "integer",
              "null"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "faq",
              "install",
              "activation",
              "download",
              "compatibility",
              "policy",
              "known_issue",
              "troubleshooting"
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "sortOrder": {
            "type": "integer"
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": true
      }
    },
    "legacy": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "resolver": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "source": {
      "type": "string"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500.

PUT /api/developer/support

Save support content and articles

Auth
Account Bearer JWT
Scope
Authenticated developer support workspace with customers.view and all-products scope; owner/admin integration recommended.
Request fields
  • supportEmail: string
  • businessAddress: string
  • supportPhone: string
  • primaryContactName: string
  • supportUrlOverride: string
  • supportUrlOverrideEnabled: boolean
  • supportDisplayName: string
  • supportContactLabel: string
  • responseTimeMessage: string
  • availabilityMessage: string
  • contactFormEnabled: boolean
  • contactFormDestinationEmail: string
  • aiAssistantEnabled: boolean
  • aiAssistantTone: string
  • escalationMessage: string
  • alwaysEscalateWhenUnsure: boolean
  • supportPageEnabled: boolean
  • articles: array
Returns
HTTP 200: settings, articles, legacy, resolver, source.
Notes
These compatibility save handlers share the same service; PATCH is not a promise of generic JSON Patch semantics. Read the normalization rules and reload the saved result. Article content and contact routing do not change product entitlements.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "supportEmail": {
      "type": "string"
    },
    "businessAddress": {
      "type": "string"
    },
    "supportPhone": {
      "type": "string"
    },
    "primaryContactName": {
      "type": "string"
    },
    "supportUrlOverride": {
      "type": "string"
    },
    "supportUrlOverrideEnabled": {
      "type": "boolean"
    },
    "supportDisplayName": {
      "type": "string"
    },
    "supportContactLabel": {
      "type": "string"
    },
    "responseTimeMessage": {
      "type": "string"
    },
    "availabilityMessage": {
      "type": "string"
    },
    "contactFormEnabled": {
      "type": "boolean"
    },
    "contactFormDestinationEmail": {
      "type": "string"
    },
    "aiAssistantEnabled": {
      "type": "boolean"
    },
    "aiAssistantTone": {
      "type": "string"
    },
    "escalationMessage": {
      "type": "string"
    },
    "alwaysEscalateWhenUnsure": {
      "type": "boolean"
    },
    "supportPageEnabled": {
      "type": "boolean"
    },
    "articles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "productId": {
            "type": [
              "integer",
              "null"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "faq",
              "install",
              "activation",
              "download",
              "compatibility",
              "policy",
              "known_issue",
              "troubleshooting"
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "sortOrder": {
            "type": "integer"
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "settings": {
      "type": "object",
      "properties": {
        "supportEmail": {
          "type": "string"
        },
        "businessAddress": {
          "type": "string"
        },
        "supportPhone": {
          "type": "string"
        },
        "primaryContactName": {
          "type": "string"
        },
        "supportUrlOverride": {
          "type": "string"
        },
        "supportUrlOverrideEnabled": {
          "type": "boolean"
        },
        "supportDisplayName": {
          "type": "string"
        },
        "supportContactLabel": {
          "type": "string"
        },
        "responseTimeMessage": {
          "type": "string"
        },
        "availabilityMessage": {
          "type": "string"
        },
        "contactFormEnabled": {
          "type": "boolean"
        },
        "contactFormDestinationEmail": {
          "type": "string"
        },
        "aiAssistantEnabled": {
          "type": "boolean"
        },
        "aiAssistantTone": {
          "type": "string"
        },
        "escalationMessage": {
          "type": "string"
        },
        "alwaysEscalateWhenUnsure": {
          "type": "boolean"
        },
        "supportPageEnabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": true
    },
    "articles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "productId": {
            "type": [
              "integer",
              "null"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "faq",
              "install",
              "activation",
              "download",
              "compatibility",
              "policy",
              "known_issue",
              "troubleshooting"
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "sortOrder": {
            "type": "integer"
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": true
      }
    },
    "legacy": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "resolver": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "source": {
      "type": "string"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500.

PATCH /api/developer/support

Save support content and articles

Auth
Account Bearer JWT
Scope
Authenticated developer support workspace with customers.view and all-products scope; owner/admin integration recommended.
Request fields
  • supportEmail: string
  • businessAddress: string
  • supportPhone: string
  • primaryContactName: string
  • supportUrlOverride: string
  • supportUrlOverrideEnabled: boolean
  • supportDisplayName: string
  • supportContactLabel: string
  • responseTimeMessage: string
  • availabilityMessage: string
  • contactFormEnabled: boolean
  • contactFormDestinationEmail: string
  • aiAssistantEnabled: boolean
  • aiAssistantTone: string
  • escalationMessage: string
  • alwaysEscalateWhenUnsure: boolean
  • supportPageEnabled: boolean
  • articles: array
Returns
HTTP 200: settings, articles, legacy, resolver, source.
Notes
These compatibility save handlers share the same service; PATCH is not a promise of generic JSON Patch semantics. Read the normalization rules and reload the saved result. Article content and contact routing do not change product entitlements.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "supportEmail": {
      "type": "string"
    },
    "businessAddress": {
      "type": "string"
    },
    "supportPhone": {
      "type": "string"
    },
    "primaryContactName": {
      "type": "string"
    },
    "supportUrlOverride": {
      "type": "string"
    },
    "supportUrlOverrideEnabled": {
      "type": "boolean"
    },
    "supportDisplayName": {
      "type": "string"
    },
    "supportContactLabel": {
      "type": "string"
    },
    "responseTimeMessage": {
      "type": "string"
    },
    "availabilityMessage": {
      "type": "string"
    },
    "contactFormEnabled": {
      "type": "boolean"
    },
    "contactFormDestinationEmail": {
      "type": "string"
    },
    "aiAssistantEnabled": {
      "type": "boolean"
    },
    "aiAssistantTone": {
      "type": "string"
    },
    "escalationMessage": {
      "type": "string"
    },
    "alwaysEscalateWhenUnsure": {
      "type": "boolean"
    },
    "supportPageEnabled": {
      "type": "boolean"
    },
    "articles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "productId": {
            "type": [
              "integer",
              "null"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "faq",
              "install",
              "activation",
              "download",
              "compatibility",
              "policy",
              "known_issue",
              "troubleshooting"
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "sortOrder": {
            "type": "integer"
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "settings": {
      "type": "object",
      "properties": {
        "supportEmail": {
          "type": "string"
        },
        "businessAddress": {
          "type": "string"
        },
        "supportPhone": {
          "type": "string"
        },
        "primaryContactName": {
          "type": "string"
        },
        "supportUrlOverride": {
          "type": "string"
        },
        "supportUrlOverrideEnabled": {
          "type": "boolean"
        },
        "supportDisplayName": {
          "type": "string"
        },
        "supportContactLabel": {
          "type": "string"
        },
        "responseTimeMessage": {
          "type": "string"
        },
        "availabilityMessage": {
          "type": "string"
        },
        "contactFormEnabled": {
          "type": "boolean"
        },
        "contactFormDestinationEmail": {
          "type": "string"
        },
        "aiAssistantEnabled": {
          "type": "boolean"
        },
        "aiAssistantTone": {
          "type": "string"
        },
        "escalationMessage": {
          "type": "string"
        },
        "alwaysEscalateWhenUnsure": {
          "type": "boolean"
        },
        "supportPageEnabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": true
    },
    "articles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "productId": {
            "type": [
              "integer",
              "null"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "faq",
              "install",
              "activation",
              "download",
              "compatibility",
              "policy",
              "known_issue",
              "troubleshooting"
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "sortOrder": {
            "type": "integer"
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": true
      }
    },
    "legacy": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "resolver": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "source": {
      "type": "string"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500.