Medallia Experience Cloud APIs are either REST-based or GraphQL-based. The REST APIs are used for manipulating objects or bulk importing data, while the GraphQL APIs are used for real-time analytics and pulling data from Experience Cloud.

Experience Cloud APIs are secured using OAuth 2.0. For more information, see Authentication.

Experience Cloud offers both sandbox environments where partner and client developers test and develop configuration, code, and integrations before going live. If you are interested in building solutions and joining the partner ecosystem, sign up here.

API Gateway URLs

Medallia's API Gateway URLs are derived from the Reporting URL which is set when your Experience Cloud instance is first provisioned.

This section provides a quick start guide for determining your API Gateway URL; see our product documentation to find additional details.

638

Some Medallia products, such as Conversations, may have dedicated API gateways or other ways of accessing their content due to unique requirements or operating conditions. Check the product-specific API documentation for more details.

Production Instances and Partner Sandboxes

API Gateway URLs are of the form:

instance-tenant.apis.medallia.com

The instance and tenant values are taken from the Reporting URL, such as instance.medallia.com/tenant. The suffix apis.medallia.com is constant, independent of the data center.

The below table shows several examples of this mapping being applied on fictional instances:

Reporting URLAPI Gateway URL
orion.medallia.ca/orionorion-orion.apis.medallia.com
acmecorp.medallia.com.au/acmelabsacmecorp-acmelabs.apis.medallia.com
momcorp.medallia.eu/robotsmomcorp-robots.apis.medallia.com

📘

Partner sandboxes similar to production

Partner sandboxes are environments that partners use for development and follow the same URL patterns as production environments.

Client Sandboxes

Client sandboxes are copies of a customer's production environment that a customer can create or delete at will.

API Gateway URLs are of the form:

sbxname-instance-tenant.apis.sbx.dc.medallia.tld

Similar to the production instance URLs, these values are derived from the sandbox's Reporting URL, just with more parts being used.

The below table shows several examples of this mapping being applied to fictional instances:

Sandbox URLAPI Gateway URL
orgtest-orion-orion.sbx.sc4.medallia.com/orionorgtest-orion-orion.apis.sbx.sc4.medallia.com
pilot-acmecorp-acmelabs.sbx.syd1.medallia.com.au/acmelabspilot-acmecorp-acmelabs.apis.sbx.syd1.medallia.com.au
uat21-momcorp-robots.sbx.ger.medallia.eu/robotsuat21-momcorp-robots.apis.sbx.ger.medallia.eu

Error Handling

Medallia's APIs return both an HTTP response code and an error message. Typical errors and response codes are shown below.  Check the documentation for the specific APIs with which you are integrating for any API-specific behaviors.

Response CodeDescription
200 - OKThe API request was successful.
201 - CreatedThe API request was successful in creating an entity.
202 - AcceptedThe API request was successfully accepted for asynchronous processing.
400 - Badly formed requestMissing or incorrectly-formed request.  Check your request payload format and try again.
401 - UnauthorizedThe OAuth 2.0 token is not valid. Request a new token and try again.
403 - ForbiddenYour access level does not allow for accessing this resource.
404 - Not FoundThe identified resource in the URL does not exist/could not be found.
406 - Not AcceptableThe identified acceptable format is not supported. Check that your headers are correct (Accept, Accept-Encoding, Accept-Language), and try again.
429 - Too Many RequestsYou have exceeded the rate limit for this API.  Wait and try again.
500 - Server ErrorSomething very unexpected went wrong. These are rare.  Check your input values and try again.  Open a support ticket with detailed steps to reproduce if needed.

Rates and Limits

In general, most APIs are available on all instances of Medallia. Some APIs related to add-on features, such as the Speech API, are only available to customers who have purchased those features.

When these limits are exceeded, the app or user may be throttled. API requests made by a throttled user or app will fail.

Experience Cloud APIs will return the following HTTP headers to enable the caller to track rate limits. For further details, see IETF draft-polli-ratelimit-headers.

ParameterDescriptionSample values
X-RateLimit-LimitRequest quota associated with the client in the current time window (in seconds).10, 10;w=1, 100;w=86400
X-RateLimit-RemainingRemaining quota units associated with the client during the current time window.60
X-RateLimit-ResetTime remaining in the current window, specified in seconds, until the quota resets.10

API-specific Limits

The standard API call limits are listed in the table below. Note that these are not hard limits; Medallia limits the number of API calls per company to prevent unintended bugs in API client code or malicious code from taking down production systems.

APIRequests per secondRequests per minuteRequests per dayConcurrent requestsTimeout (in seconds)
Query API70N/A975,000N/A90
Users API70N/A10,000N/A180
Roles API70N/A10,000N/A180
Speech APIN/A13,000325,0001,000180
Import API: Import on concurrent processing mode1N/A1,950,0005600
Import API: Import on non-concurrent processing mode10N/A1,950,000N/A600
Feed File API: Results10N/A100,000N/A600
Feed File API: Detailed results10N/A10,000N/A600
Introspection API: All import endpoints10N/A10,000N/A600
Introspection API: Specific import endpoint10N/A10,000N/A600

In addition, the below APIs have unique aspects of rating limiting that are orthogonally applied:

  • Query API calls have a cost. Requests are subject to cost limits and are throttled once the 3,000,000 cost-units-per-query limit is reached.
  • Import API calls are restricted to a data payload size limit of 100 MB for concurrent processing and 1.5 GB for non-concurrent processing.
  • The feed file detailed results show up to the first 5,000 input records per result status for an import request. Examples of result status include records successfully created, updated, or discarded.

Examples

  • Simultaneously make 10 API calls/sec to the Users API and 10 API calls/sec to the Roles API on your production instance - OK
  • Simultaneously make 10 API calls/sec to the Users API on your production instance and 10 API calls/sec to the Users API on your sandbox - OK
  • Make 15 calls/sec to the Roles API on your production instance - 5 calls will return with HTTP 429

All instances of Medallia have an allowance of at least 60,000 API calls per 24-hour window. Certain APIs may have different baseline allowances, so please check the API documentation for any additional details. Allowances are based on your Experience Cloud subscription. If you require a higher daily call volume, contact your account representative or Medallia Support.

📘

Cost and limits

Medallia limits the number of API calls per company to prevent unintended bugs in API client code or malicious code from taking down production systems. If you need higher limits, contact your Medallia representative to make the request.