Symphony Messaging Dev Docs
Developer CertificationREST API
  • Start Your Developer Journey
  • Bots
    • Building Bots
    • Planning Your Bot
      • Conversational Bot
      • Interactive Bot
      • Headless Bot
    • Getting Started
      • Getting Started with BDK
      • Creating a Service Account
      • Configuration
      • Truststores
    • Overview of REST API
      • REST API Architecture
      • Overview of Pod API
      • Overview of Key Manager API
      • Overview of Agent API
      • Bot Permissions
      • REST API Reference
    • Authentication
      • RSA Authentication Workflow
      • Certificate Authentication Workflow
    • Datafeed
      • Real-Time Events
      • Overview of Streams
    • Messages
      • MessageML
        • MessageML Basics
          • Content Grouping
          • Text formatting and semantics
          • Tables
          • Images
          • Tags and mentions
            • Enhanced tags notice
          • Style Attributes
          • Special Characters
          • Emojis
        • Elements Interactive Forms
          • Buttons
            • Icon set for Buttons
          • Text Field
          • Masked Text Field
          • Text Area
          • Checkbox
          • Radio Button
          • Dropdown Menu
          • Person Selector
          • Room Selector
          • Date Picker
          • Time Picker
          • Timezone Picker
          • Table Select
          • Regular Expressions - Regex
        • Extensibility UI Actions
          • OpenChat
          • Dialog
        • Entities
          • Standard Entities
          • Custom Entities
      • PresentationML
    • Bots Best Practices
    • Open Source Code Samples
  • Extension Apps
    • Building Extension Apps
    • Planning Your App
    • Getting Started
      • Getting Started with ADK
      • Application Manifest Bundle
      • Add an Extension App to a Symphony Pod
    • Overview of Extension API
      • Initialization
      • Register and Connect
      • Extension API Services
        • Service Interface
        • Register and Subscribe
        • Modules Service
        • Entity Service
          • Entity Advanced Templating
          • Message Format - ExtensionML
        • Applications-Nav Service
        • Share Service
        • Commerce Service
        • Dialogs Service
        • UI Service
          • Receiving Conversation and User Information
          • Filter Function
    • App Authentication
      • Circle of Trust Authentication
      • OBO Authentication
  • Developer Tools
    • Symphony Messaging Generator
    • Bot Developer Kit for Java
      • Build a Conversational Bot
      • Build an Interactive Bot
      • Build a Headless Bot
      • Integrate a Bot with an Identity Provider
    • Bot Developer Kit for Python
    • App Developer Kit
      • Build a Basic Extension App
      • Build an Extension App with App Views
        • Add Buttons and Handlers to an Extension App
        • Add BDK to an Extension App for Circle of Trust
      • Build an Extension App with Message Renderers
    • Postman
    • UI Style Guide
      • Colors
      • Form Elements
      • Buttons
  • Embedded Modules
    • Symphony Messaging URI
      • Symphony Messaging URI for Mobile (deprecated)
    • Desktop interoperability
      • FDC3 intents
        • Message format
      • Configuration guide
        • Configure Interop.io
        • Configure Here Core
        • Configure Finsemble
        • Configure with Embedded Mode
        • Troubleshooting
      • Change log
    • Embedded Mode
      • Get started
      • Configuration parameters
      • Open a chat
      • Send a message
      • Create a room
      • Pin a message
      • Notifications
      • Support for extension applications
      • Open an app
      • Embedded Mode with Sponsored Access
      • Pricing tiers
      • Logout
    • Universal Webhook
      • User guide
        • Example with Splunk
      • Installation guide
  • Symphony REST API
    • Messaging REST API
    • Federation
    • Sponsored Access API
    • Enhanced Directory API
  • Developer Certification
    • Developer Certification
  • Mobile Frameworks
    • Blackberry
    • MobileIron
  • Admin Guides
    • Change Logs
      • API Agent
        • Agent - 25.5
        • Agent - 25.3 (LTS)
        • Agent - 24.12 (LTS)
        • Agent - 24.9 (LTS)
        • Agent - 24.6 (LTS)
        • Archives
          • Agent - 24.11
          • Agent - 24.10
          • Agent - 23.9 (LTS)
          • Agent - 24.8
          • Agent - 24.3 (LTS)
          • Agent - 24.2
          • Agent - 24.1
          • Agent - 23.12 (LTS)
          • Agent - 23.11
          • Agent - 23.10
          • Agent - 23.7
          • Agent - 23.6 (LTS)
          • Agent - 23.4
          • Agent - 23.3 (LTS)
          • Agent - 23.1
          • Agent - 22.12 (LTS)
          • Agent - 22.11
          • Agent - 22.10
          • Agent - 22.9 (LTS)
          • Agent - 22.8
          • Agent - 22.7
          • Agent - 22.6 (LTS)
          • Agent - 20.14
          • Agent - 20.13
          • Agent - 20.12
          • Agent - 20.10
          • Agent - 20.9 (2.62)
          • Agent - 20.7 (2.61)
          • Agent - 20.6 (2.60)
          • Agent - 20.5 (2.59)
          • Agent - 20.4 (2.58)
      • SBE (Pod API)
        • SBE - 24.1
        • SBE - 20.16
        • SBE - 20.15
        • Archives
          • SBE - 20.14
          • SBE - 20.13
          • SBE - 20.12
          • SBE - 20.10
          • SBE - 20.9 (1.62)
          • SBE - 20.7 (1.61)
          • SBE - 20.6 (1.60)
          • SBE - 20.5 (1.59)
          • SBE - 20.4 (1.58)
      • Client 2.0 APIs
        • Client 2.0 - 25.05
        • Client 2.0 - 25.03
        • Client 2.0 - 24.12
        • Client 2.0 - 24.05
        • Client 2.0 - 23.02
        • Client 2.0 - 22.11
        • Archives
          • Client 2.0 - 20.4
          • Client 2.0 - 20.5
          • Client 2.0 - 20.6
          • Client 2.0 - 20.7
          • Client 2.0 - 20.9
          • Client 2.0 - 20.10
          • Client 2.0 - 20.12
          • Client 2.0 - 22.8
          • Client 2.0 - 22.10
      • Universal Webhook
        • Univ Webhook - 2.6
        • Univ Webhook - 2.4
        • Univ Webhook - 2.2
        • Univ Webhook - 2.1
        • Univ Webhook - 2.0
    • API Change Management
    • Global Throttling
    • Agent Guide
      • Network Topology
      • Agent Download
      • Agent Installation
      • Agent Configuration Fields
      • Agent Server High Availability
      • Agent Performance Tuning
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Symphony REST API

Sponsored Access API

Last updated 2 months ago

Was this helpful?

What is Sponsored Access?

Symphony Sponsored Access allows Symphony partners to enable the users of their applications to collaborate on Symphony Messaging, by adding those companies and users to the Symphony network.

Users can leverage the Symphony Messaging Embedded Mode in order to chat from within the partner application.

Partners can use the Sponsored Access APIs to create accounts on Symphony Messaging for their application users, if they do not already belong to the Symphony network.

If a user’s company is not yet available on Symphony Messaging, a dedicated Symphony Messaging tenant can be created for that company before onboarding its users.

Prerequisites

Before they can use Sponsored Access APIs to add client companies, as well as add or disable users, partners must register with Symphony. Following registration, partners receive credentials to authenticate to these APIs.

If they want to offer a seamless login experience to Symphony Messaging, partners need to provide Symphony with their Identity Provider details. The recommended authentication method is SAML, although other authentication methods are also available (additional charges apply).

If you would like to register as a Symphony partner, create new users and embed Symphony Messaging within your application, please .

Domains

In order to target the different APIs described below, the user should use the correct domain, depending on their environment:

  • PROD:

  • UAT:

Authentication

To be able to call this API, you first need to get an access token.

curl --request POST \
  --url https://us-auth.prod.symphony.com/oauth/token \
  --header 'content-type: application/json' \
  --data '{"client_id":"$client_id","client_secret":"$client_secret","audience":"https://api.symphony.com/partners","grant_type":"client_credentials"}'

To get your client_id and your client_secret, please contact Symphony.

In the response, you should get:

{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkthaFZHSlZUOFRuSWNRamNrTW1FcSJ9.eyJodHRwczovL2F1dGguc3ltcGhvbnkuY29tL3BhcnRuZXJfaWQiOiJ5b3VyX3BhcnRuZXIiLCJpc3MiOiJodHRwczovL2Rldi13NHRlc2NvZS51cy5hdXRoMC5jb20vIiwic3ViIjoiS0pCSkpMdnd4ZkllZ0NRdjBCNm5lcGxZN25rYVNOam9AY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vYXBpLnN5bXBob255LmNvbS9wYXJ0bmVycyIsImlhdCI6MTY1NDI2MzMxMCwiZXhwIjoxNjU0MzQ5NzEwLCJhenAiOiJLSkJKSkx2d3hmSWVnQ1F2MEI2bmVwbFk3bmthU05qbyIsInNjb3BlIjoiY29tbXVuaXR5OmFjY291bnRzOm9uYm9hcmQiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMifQ.BN5iW4sXeo4B3ecp0u3fj--tYhsVTZOWi_UgaPvHdS4PI2uopT-XfcBLCIb1PIXogshy8ZAQkwwQpiroBd9rcJDHW-ERsCWCsc6ruZKIHmvslAVF7AoLNN_GbqvvTgKLqbfTqdgNcyCg27oem6il8NhQDO0mu9ndOsJtdmwQ7Tczkla8uBoHiEO7_p1F17njxQYxpXbmG2Tfe_SUUmS0ec5vbV2-btKet3uMm5J8E8mockr8VrXLcu5hNxishELrQ6uCgmreit8R4EZNVIwK43CRnibCV7F8MQpiTkNJMYnVybwdqNOZFBzcuXRQIQHEmiW41xILuXOdPowCvBAS7w",
"token_type": "Bearer"
}

You can now use the access_tokento make authorized calls to the API. You should pass it as a Bearer token in the Authorization header.

Create company

A Sponsored Access partner can use this endpoint to sponsor a new company in Symphony.

As input, the partner must provide:

  • A name: The company name that will be visible in the user’s profile in the Directory and can be used during user search.

  • A vanityName: This will be used to construct the tenant publicUrl under which the user Symphony Messaging session will be launched. For example, if the vanity name is “coke”, the URL will be https://coke.on.symphony.com.

  • emailDomains: The list of email domains used by the users in that company. Only users with email addresses belonging to those domains can be added later on. To update the domain list, please contact your Symphony representative.

REST call to create a company:

curl -X 'POST' \
  'https://community.symphony.com/api/v2/companies' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access_token}' \
  -d '{
  "name": "Lyondell",
  "vanityName": "lyondell",
  "emailDomains": [
    "lyondell.com"
  ]
}'

Response you should get:

{
  "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
  "createdAt": "2023-12-22T08:53:39.269539Z",
  "updatedAt": "2023-12-20T10:59:54.516494Z",
  "name": "Lyondell",
  "vanityName": "lyondell",
  "emailDomains": [
    "lyondell.com"
  ],
  "publicUrl": "https://lyondell.on.symphony.com",
  "state": "STARTED"
}

Success

If successful, a dedicated Symphony Messaging tenant will be created for that company and will become accessible under the tenant publicUrl derived from the vanityName field.

If a user leverages the Symphony Messaging channels (Web, Desktop, Mobile), they will need to log in by accessing the tenant publicURL directly in the browser, desktop or mobile application.

If a user leverages Embedded Mode, the partner needs to load Embedded Mode using that tenant publicUrl.

Failure

Company creation will fail in the following cases:

  • There is already a company in the Directory with users having email addresses with domains belonging to the provided list of email domains.

  • There is already a company in the Directory with the same company name.

  • There is already a company in the Directory with the same vanityName.

  • If the conflicting company has been onboarded by the same partner and the list of email domains is different, an error will be thrown. In that case, the partner needs to amend the list of email domains for the company before adding users.

*where {%email%} needs to be replaced by the user’s email address.

If users do not have an account, you are encouraged to reach out to onboarding@symphony.com or to your Symphony representative so they can help you onboard the users.

Create users

A Sponsored Access partner can use this endpoint to provision new users in Symphony Messaging under an existing sponsored company.

As input, the partner must provide:

  • A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.

  • An array of user information (in the body of the request). It is recommended to provide a maximum of information in order to facilitate user search in the Directory.

REST call to create users:

curl -X 'POST' \
  'https://community.symphony.com/api/v2/companies/e176c55e-6e49-4819-b982-12e0535db5f0/users' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access_token}' \
  -d '[
  {
    "email": "john.smith@symphony.com",
    "firstName": "John",
    "lastName": "Smith",
    "displayName": "John Smith",
    "active": false,
    "phoneNumber": "true",
    "department": "Order Processing",
    "title": "Mr.",
    "location": "Sophia Antipolis"
  }
]'

Response you should get:

[
  {
    "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
    "createdAt": "2023-12-22T08:53:39.269539Z",
    "updatedAt": "2023-12-20T10:59:54.516494Z",
    "symphonyUserId": 695234946138125,
    "email": "john.smith@symphony.com",
    "firstName": "John",
    "lastName": "Smith",
    "displayName": "John Smith",
    "active": true,
    "phoneNumber": "+33 1 09 75 83 51",
    "department": "Order Processing",
    "title": "Mr.",
    "location": "Sophia Antipolis",
    "status": 201
  }
]

Update user status

A Sponsored Access partner can use this endpoint to disable or re-enable a user.

As input, the partner must provide:

  • A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.

  • A userId (as a query parameter of the request): The userId can be obtained by calling the Get company users API.

  • A user active status indicator (in the body of request).

Once disabled, the user is no longer associated with the partner, and can no longer log in to Symphony. The user’s chats, however, are kept in order to meet any compliance requirements.

REST call to disable a user:

curl -X 'PATCH' \
  'https://community.symphony.com/api/v2/companies/e176c55e-6e49-4819-b982-12e0535db5f0/users/5bec2e8b-da45-46c7-9370-5669de1b1a78' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access_token}' \
  -d '{
  "active": false
}'

Search companies

A Sponsored Access partner can use this endpoint to retrieve the list of companies it has sponsored.

curl -X 'GET' \
  'https://community.symphony.com/api/v2/companies' \
  -H 'accept: application/json'
  -H 'Authorization: Bearer {access_token}' 

Response you should get:

[
  {
    "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
    "createdAt": "2023-12-22T08:53:39.269539Z",
    "updatedAt": "2023-12-20T10:59:54.516494Z",
    "name": "Lyondell",
    "vanityName": "lyondell",
    "emailDomains": [
      "lyondell.com"
    ],
    "publicUrl": "https://lyondell.on.symphony.com",
    "state": "COMPLETED"
  }
]

Retrieve company

A Sponsored Access partner can use this endpoint to retrieve a sponsored company’s information.

As input, the partner must provide:

  • A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.

curl -X 'GET' \
  'https://community.symphony.com/api/v2/companies/e176c55e-6e49-4819-b982-12e0535db5f0' \
  -H 'accept: application/json'
  -H 'Authorization: Bearer {access_token}'

Response you should get:

{
  "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
  "createdAt": "2023-12-22T08:53:39.269539Z",
  "updatedAt": "2023-12-20T10:59:54.516494Z",
  "name": "Lyondell",
  "vanityName": "lyondell",
  "emailDomains": [
    "lyondell.com"
  ],
  "publicUrl": "https://lyondell.on.symphony.com",
  "state": "COMPLETED"
}

Update company

A Sponsored Access partner can use this endpoint to add new email domains to an existing company.

curl -X 'PATCH' \
  'https://community.symphony.com/api/v2/companies/e176c55e-6e49-4819-b982-12e0535db5f0' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access_token}'
  -d '{
  "emailDomains": [
    "lyondell.com"
  ]
}'

Success

In response you should get code HTTP 200.

Failure

When there already is a company in the Directory with users who have email addresses with domains belonging to the provided list of email domains.

Retrieve company users

A Sponsored Access partner can use this endpoint to retrieve the list of users of a company it has sponsored.

As input, the partner must provide:

  • A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.

The users are returned in paging mode. If the company has large number of users, multiple API calls need to be made to retrieve the full list of users. To retrieve the users on different pages, the partner must provide:

  • A currentPage (as a query parameter of the request): This is the page number. To see the total number of pages, partners can make a REST call such as the one below.

  • A pageSize (as a query parameter of the request): To specify how many users to be displayed on the page.

REST call to retrieve the list of users:

curl -X 'GET' \
  'https://community.symphony.com/api/v2/companies/e176c55e-6e49-4819-b982-12e0535db5f0/users' \
  -H 'accept: application/json'
  -H 'Authorization: Bearer {access_token}'

In response, you should get the paging information (total number of users, current page and page size), and a list of users as below:

{
  "total": 150,
  "pageSize": 100,
  "currentPage": 1,
  "users": [
    {
      "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
      "createdAt": "2023-12-22T08:53:39.269539Z",
      "updatedAt": "2023-12-20T10:59:54.516494Z",
      "symphonyUserId": 691867691778058,
      "email": "john.smith@symphony.com",
      "firstName": "John",
      "lastName": "Smith",
      "displayName": "John Smith",
      "phoneNumber": "+33 1 09 75 83 51",
      "department": "Order Processing",
      "title": "Mr.",
      "location": "Sophia Antipolis"
    },
    ...
  ]
}

Retrieve user

A Sponsored Access partner can use this endpoint to retrieve the detail of a single user of a company it has sponsored.

As input, the partner must provide:

  • A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.

  • A userId (as a query parameter of the request): The userId can be obtained by calling the Get company users API.

curl -X 'GET' \
  'https://community.symphony.com/api/v2/companies/e176c55e-6e49-4819-b982-12e0535db5f0/users/5bec2e8b-da45-46c7-9370-5669de1b1a78' \
  -H 'accept: application/json'
  -H 'Authorization: Bearer {access_token}'

In response you should get:

{
  "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
  "createdAt": "2023-12-22T08:53:39.269539Z",
  "updatedAt": "2023-12-20T10:59:54.516494Z",
  "symphonyUserId": 695234946138125,
  "email": "john.smith@symphony.com",
  "firstName": "John",
  "lastName": "Smith",
  "displayName": "John Smith",
  "active": true,
  "phoneNumber": "+33 1 09 75 83 51",
  "department": "Order Processing",
  "title": "Mr.",
  "location": "Sophia Antipolis",
  "status": 201
}

In case of failures, to verify whether the users of that company already have a Symphony Messaging account or not, you can call the following endpoint:

contact us
https://community.symphony.com/api
https://community.uat.symphony.com/api
https://loginservice.symphony.com/webcontroller/podLoginInformation?emailAddress={%email%}&fs=advanced

Search companies

get

Retrieve a company or the complete list of companies.

If the 'vanityName' is passed as a query parameter the company matching this name is returned.

If no query parameter is passed, the complete list of companies is returned.

Authorizations
Query parameters
vanityNamestring · min: 2 · max: 150Optional

Vanity name of the company

Example: lyondell
Responses
200
OK
application/json
get
GET /api/v2/companies HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Accept: */*
200

OK

[
  {
    "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
    "createdAt": "2023-12-22T08:53:39.269539Z",
    "updatedAt": "2023-12-20T10:59:54.516494Z",
    "name": "Lyondell",
    "vanityName": "lyondell",
    "emailDomains": [
      "lyondell.com"
    ],
    "publicUrl": "https://lyondell.on.symphony.com",
    "state": "STARTED",
    "errorMessage": "Please contact Symphony support by providing the X-Trace-Id = KUfkYm"
  }
]

Retrieve company

get

Retrieve the details of a company, including the creation status.

When the status is COMPLETED the company is ready to be used, and users can be created on it.

If the state is not STARTED or COMPLETED, please contact Symphony for support.

Authorizations
Path parameters
companyIdstringRequired

Id of the company

Example: e176c55e-6e49-4819-b982-12e0535db5f0
Responses
200
OK
application/json
get
GET /api/v2/companies/{companyId} HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Accept: */*
200

OK

{
  "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
  "createdAt": "2023-12-22T08:53:39.269539Z",
  "updatedAt": "2023-12-20T10:59:54.516494Z",
  "name": "Lyondell",
  "vanityName": "lyondell",
  "emailDomains": [
    "lyondell.com"
  ],
  "publicUrl": "https://lyondell.on.symphony.com",
  "state": "STARTED",
  "errorMessage": "Please contact Symphony support by providing the X-Trace-Id = KUfkYm"
}

Retrieve company users

get

Retrieves users of a given company. Results are paginated by user creation date.

An initial query should be done without specifying any paging query parameters to retrieve the total number of rows.

Page size is configurable, with a maximum size of 100 users.

Authorizations
Path parameters
companyIdstringRequired

Id of the company

Example: e176c55e-6e49-4819-b982-12e0535db5f0
Query parameters
currentPageinteger · int32Optional

Current page

Default: 0Example: 5
pageSizeinteger · int32 · min: 1 · max: 100Optional

Page size

Default: 100Example: 50
Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /api/v2/companies/{companyId}/users HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Accept: */*
{
  "total": 150,
  "pageSize": 1,
  "currentPage": 10,
  "users": [
    {
      "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
      "createdAt": "2023-12-22T08:53:39.269539Z",
      "updatedAt": "2023-12-20T10:59:54.516494Z",
      "symphonyUserId": 691867691778058,
      "email": "john.smith@symphony.com",
      "firstName": "John",
      "lastName": "Smith",
      "displayName": "John Smith",
      "phoneNumber": "+33 1 09 75 83 51",
      "department": "Order Processing",
      "title": "Mr.",
      "location": "Sophia Antipolis"
    }
  ]
}

Retrieve user

get

Retrieves a user of a given company by providing the user id.

Authorizations
Path parameters
companyIdstringRequired

Id of the company

Example: e176c55e-6e49-4819-b982-12e0535db5f0
userIdstringRequired

Id of the user

Example: 5bec2e8b-da45-46c7-9370-5669de1b1a78
Responses
200
OK
application/json
404
Possible reasons specified by detailErrorCode - 40102: Company does not exist, or is not in 'completed' state. - 40106: User is not found, or does not belong to the company.
application/json
get
GET /api/v2/companies/{companyId}/users/{userId} HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Accept: */*
{
  "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
  "createdAt": "2023-12-22T08:53:39.269539Z",
  "updatedAt": "2023-12-20T10:59:54.516494Z",
  "symphonyUserId": 695234946138125,
  "email": "john.smith@symphony.com",
  "firstName": "John",
  "lastName": "Smith",
  "displayName": "John Smith",
  "active": true,
  "phoneNumber": "+33 1 09 75 83 51",
  "department": "Order Processing",
  "title": "Mr.",
  "location": "Sophia Antipolis",
  "status": 201
}
  • What is Sponsored Access?
  • Prerequisites
  • Domains
  • Authentication
  • Create company
  • POSTCreate company
  • Create users
  • POSTCreate users
  • Update user status
  • PATCHUpdate user status
  • Search companies
  • GETSearch companies
  • Retrieve company
  • GETRetrieve company
  • Update company
  • PATCHUpdate company
  • Retrieve company users
  • GETRetrieve company users
  • Retrieve user
  • GETRetrieve user

Create company

post

The creation of a company in Symphony is done in asynchronously in the background. When this call returns the state of the company will be STARTED. Please allow approximately 20 min for the company to be fully provisioned. To verify the current status of the company you can poll the 'retrieve company' endpoint using the returned id.

Authorizations
Body
idstringRead-onlyOptional

Unique identifier

Example: e176c55e-6e49-4819-b982-12e0535db5f0
createdAtstring · date-timeRead-onlyOptional

Creation date

Example: 2023-12-22T08:53:39.269539Z
updatedAtstring · date-timeRead-onlyOptional

Last update date

Example: 2023-12-20T10:59:54.516494Z
namestring · min: 2 · max: 100Required

Name of the company

Example: Lyondell
vanityNamestring · min: 2 · max: 63Required

Vanity name of the company will generate the public url of the tenant

Example: lyondellPattern: [a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?
emailDomainsstring[] · min: 1 · max: 10Required

List of email domains with which users can be registered to the tenant

Example: ["lyondell.com"]
publicUrlstringRead-onlyOptional

The Symphony public url of the company

Example: https://lyondell.on.symphony.com
statestring · enumRead-onlyOptional

The state of the company to indicate if the creation is completed

Example: STARTEDPossible values:
errorMessagestringRead-onlyOptional

Message providing additional information about the company creation error

Example: Please contact Symphony support by providing the X-Trace-Id = KUfkYm
Responses
202
Accepted
application/json
post
POST /api/v2/companies HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 75

{
  "name": "Lyondell",
  "vanityName": "lyondell",
  "emailDomains": [
    "lyondell.com"
  ]
}
202

Accepted

{
  "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
  "createdAt": "2023-12-22T08:53:39.269539Z",
  "updatedAt": "2023-12-20T10:59:54.516494Z",
  "name": "Lyondell",
  "vanityName": "lyondell",
  "emailDomains": [
    "lyondell.com"
  ],
  "publicUrl": "https://lyondell.on.symphony.com",
  "state": "STARTED",
  "errorMessage": "Please contact Symphony support by providing the X-Trace-Id = KUfkYm"
}

Create users

post

Create users in a given company. Up to 20 users can be created in one API call.

Authorizations
Path parameters
companyIdstringRequired

Id of the company

Example: e176c55e-6e49-4819-b982-12e0535db5f0
Body
idstringRead-onlyOptional

Unique identifier

Example: e176c55e-6e49-4819-b982-12e0535db5f0
createdAtstring · date-timeRead-onlyOptional

Creation date

Example: 2023-12-22T08:53:39.269539Z
updatedAtstring · date-timeRead-onlyOptional

Last update date

Example: 2023-12-20T10:59:54.516494Z
symphonyUserIdinteger · int64Read-onlyOptional

Symphony user id

Example: 691867691778058
statusinteger · int32Read-onlyOptional

Individual http status code

Example: 201
emailstringRequired

User's email address

Example: john.smith@symphony.com
firstNamestringRequired

User's first name

Example: John
lastNamestringRequired

User's last name

Example: Smith
displayNamestringOptional

User's display name, if not provided it is a concatenation of the first name and the last name

Example: John Smith
activebooleanOptional

User's phone number

Example: false
phoneNumberstringOptional

User's status on Symphony

Example: true
departmentstringOptional

User's department

Example: Order Processing
titlestringOptional

User's title

Example: Mr.
locationstringOptional

User's location

Example: Sophia Antipolis
Responses
201
All users are successfully created.
application/json
207
Creation of some users can fail. The individual error is associated to every user request. Possible reasons specified by detailErrorCode - 40001: User email address is not allowed for that company. - 40002: A user with the same email address already exists.
application/json
400
Possible reasons specified by detailErrorCode - 40102: Company does not exist, or is not in 'completed' state.
application/json
post
POST /api/v2/companies/{companyId}/users HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 214

[
  {
    "email": "john.smith@symphony.com",
    "firstName": "John",
    "lastName": "Smith",
    "displayName": "John Smith",
    "active": false,
    "phoneNumber": "true",
    "department": "Order Processing",
    "title": "Mr.",
    "location": "Sophia Antipolis"
  }
]
[
  {
    "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
    "createdAt": "2023-12-22T08:53:39.269539Z",
    "updatedAt": "2023-12-20T10:59:54.516494Z",
    "symphonyUserId": 695234946138125,
    "email": "john.smith@symphony.com",
    "firstName": "John",
    "lastName": "Smith",
    "displayName": "John Smith",
    "active": true,
    "phoneNumber": "+33 1 09 75 83 51",
    "department": "Order Processing",
    "title": "Mr.",
    "location": "Sophia Antipolis",
    "status": 201
  },
  {
    "id": "e176c55e-6e49-4819-b982-12e0535db5f0",
    "createdAt": "2023-12-22T08:53:39.269539Z",
    "updatedAt": "2023-12-20T10:59:54.516494Z",
    "symphonyUserId": 691867691778059,
    "email": "AdeleV@symphony.com",
    "firstName": "Adele",
    "lastName": "Vance",
    "displayName": "Adele Vance",
    "active": true,
    "phoneNumber": "+33 1 09 75 83 51",
    "department": "Order Processing",
    "title": "Mr.",
    "location": "Sophia Antipolis",
    "status": 201
  }
]

Update user status

patch

Enable or disable a specific user account.

Authorizations
Path parameters
companyIdstringRequired

Id of the company

Example: e176c55e-6e49-4819-b982-12e0535db5f0
userIdstringRequired

Id of the user

Example: 5bec2e8b-da45-46c7-9370-5669de1b1a78
Body
activebooleanRequired

Active

Responses
200
User status successfully updated
application/json
404
Possible reasons specified by detailErrorCode - 40102: Company does not exist, or is not in 'completed' state. - 40106: User is not found, or does not belong to the company.
application/json
patch
PATCH /api/v2/companies/{companyId}/users/{userId} HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "active": true
}

No content

Update company

patch

Update company to add additional email domains.

Authorizations
Path parameters
companyIdstringRequired

Id of the company

Example: e176c55e-6e49-4819-b982-12e0535db5f0
Body
emailDomainsstring[] · min: 1 · max: 10Required

List of email domains with which users can be registered to the tenant

Example: ["lyondell.com"]
Responses
200
Company email domains successfully updated
304
Company email domains are not modified. The company already contains the list of email domains.
404
Possible reasons specified by detailErrorCode - 40102: Company does not exist, or is not in 'completed' state. - 40103: Company email domains are already taken.
application/json
patch
PATCH /api/v2/companies/{companyId} HTTP/1.1
Host: community.uat.symphony.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "emailDomains": [
    "lyondell.com"
  ]
}

No content