Syncly · Authentication Profile

Syncly Authentication

Authentication

Syncly secures its APIs with oauth2 across 1 declared security scheme, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

CompanySocial IntelligenceSocial ListeningCustomer FeedbackVoice of CustomerCreator MarketingAnalyticsArtificial IntelligenceMCP
Methods: oauth2 Schemes: 1 OAuth flows: authorizationCode API key in:

Security Schemes

SynclySocialOAuth oauth2
· flows: authorizationCode

Source

Authentication Profile

Raw ↑
generated: '2026-08-13'
method: probed
source: https://social-server.syncly.app/.well-known/oauth-authorization-server
docs: https://syncly-a76215af.mintlify.app/en/start/connect-mcp-clients
supersedes: >-
  The 2026-07-21 round recorded a "workspace MCP connection URL" scheme and stated that no
  OAuth surface was documented. That was wrong. Syncly runs a full OAuth 2.1 authorization
  server at https://social-server.syncly.app, discoverable per RFC 8414, and the MCP resource
  server advertises it per RFC 9728. Corrected here from live probes.
summary:
  types: [oauth2]
  api_key_in: []
  oauth2_flows: [authorizationCode]
  bearer_methods_supported: [header]
  dynamic_client_registration: true
  pkce_required_methods: [S256]
schemes:
- name: SynclySocialOAuth
  type: oauth2
  description: >-
    Programmatic access to a Syncly workspace goes through the Syncly Social MCP server at
    https://mcp.syncly.app/mcp, which is an OAuth 2.1 protected resource. Clients discover the
    authorization server from the resource metadata document, register dynamically, run an
    authorization-code flow with PKCE (S256), and present the resulting access token as an
    HTTP Authorization Bearer header. Token endpoint auth method is "none", which is the public
    client profile expected of MCP clients. In practice end users trigger this flow from
    Settings > My Account > Connected Apps inside the Syncly app rather than pasting a URL.
  flows:
  - flow: authorizationCode
    authorizationUrl: https://social-server.syncly.app/oauth/authorize
    tokenUrl: https://social-server.syncly.app/oauth/token
    revocationUrl: https://social-server.syncly.app/oauth/revoke
    registrationUrl: https://social-server.syncly.app/oauth/register
    scopes:
      syncly:read: Read access to the connected Syncly workspace
      offline_access: Issue a refresh token so the client can renew access without re-consent
  sources:
  - https://mcp.syncly.app/.well-known/oauth-protected-resource
  - https://social-server.syncly.app/.well-known/oauth-authorization-server
authorization_server:
  issuer: https://social-server.syncly.app
  metadata: well-known/syncly-oauth-authorization-server.json
  grant_types_supported: [authorization_code, refresh_token]
  response_types_supported: [code]
  code_challenge_methods_supported: [S256]
  token_endpoint_auth_methods_supported: [none]
  client_id_metadata_document_supported: true
protected_resource:
  resource: https://mcp.syncly.app/mcp
  metadata: well-known/syncly-oauth-protected-resource.json
  authorization_servers: [https://social-server.syncly.app]
  scopes_supported: [syncly:read]
unauthenticated_behavior:
  http_status: 401
  body: JSON-RPC 2.0 error object, code -32001, message "Unauthorized"
  challenge_header: mcp/www_authenticate carried inside the JSON-RPC error _meta block
  note: >-
    The Bearer challenge is delivered in the JSON-RPC error payload rather than a plain
    WWW-Authenticate response header, which is the MCP-specific shape of the RFC 9728 challenge.
no_rest_api: >-
  Syncly publishes no general-purpose REST API and no API-key issuance flow. The only
  machine-readable contract on its own hosts is openapi/syncly-social-mcp-openapi.json, which
  documents the MCP server's discovery and health endpoints, not the product data surface.
x-evidence:
- url: https://social-server.syncly.app/.well-known/oauth-authorization-server
  http_status: 200
  fetched: '2026-08-13'
- url: https://mcp.syncly.app/.well-known/oauth-protected-resource
  http_status: 200
  fetched: '2026-08-13'
- url: https://mcp.syncly.app/mcp
  http_status: 401
  fetched: '2026-08-13'