Developer
User guidesDeveloper websiteHelp centerLog in
  • Welcome!
  • Organisations structure
    • Datamart
    • Users and roles
  • User points
    • User identifiers
      • Networks IDs
        • Device-based Network IDs
          • Custom Device ID integration
          • ID5
          • First ID
        • User-based Network IDs
          • Custom User ID integration
          • UTIQ martechpass
      • Accounts
      • Emails
      • Device identifiers
    • User activities and events
    • Compartments
    • User profiles
    • User segments
    • Hyper point & Quarantine
  • Data model
    • Defining your schema
    • Computed fields
      • Concepts
      • Setup
      • Development
      • Examples
  • Data ingestion
    • Real time user tracking
      • Website tracking
      • Mobile apps tracking
      • Ads exposure tracking
      • AMP tracking
      • Conversions tracking
      • Email views and clicks
      • Tracking API
      • Event rules
      • Activity analyzers
    • Bulk processing
      • Imports
        • User activities import
        • User profiles import
        • User choices import
        • Segments import
      • Deletions
        • User identifiers deletion
        • Device points deletion
        • User points deletion
      • User identifiers association
      • Integration batch
    • Activities analytics
    • Data warehouse
      • Preliminary setup
        • BigQuery
      • Create data warehouse
  • Querying your data
    • OTQL queries
    • OTQL examples
    • GraphQL queries
    • UserPoint API
    • User activities
    • Activities analytics queries
      • API Quickstart
      • Dimensions and metrics
      • Use cases
    • Funnel API
  • Alerting
    • Alert configurations
  • Data visualisation
    • Quickstart
    • Dashboards
    • Sections and cards
    • Charts
    • Datasets and data sources
      • Using a data file data source
    • Transformations
    • Filters
    • Cookbook
    • Reference
  • Advanced usages
    • Audience segmentation
      • Audience features
      • Segment builders
      • Audience segment metrics
      • Audience segment feed
        • Building new feeds
        • Monitoring a feed
        • Curated Audiences (SDA)
      • Edge segments
      • Cohort-based Lookalike
    • Contextual targeting
      • Setup
      • Activation
        • Google Ad Manager
        • Xandr (through prebid.js)
      • API documentation
    • Exporting your data
      • Query Exports
      • Datamart replication
    • Data privacy compliance
      • User choices
      • Cleaning rules
      • Exercise of user rights
      • Cookies
    • Campaigns
    • Automations
      • Email routers
      • Email renderers
      • Opt-in provider
      • Custom action plugins
      • Usage limits for automations
    • Plugins
      • Concepts
      • Creation & Deployment
      • Coding your plugin
      • Manage existing plugins
      • Layouts
      • Presets
      • Monitoring
      • Throttling
      • Batching (for external feeds)
    • Platform monitoring
      • Resources usage
        • Dimensions and metrics
      • Collection volumes
        • Dimensions and metrics
      • Events ingestion monitoring
        • Dimensions and metrics
    • Data Clean Room
      • Bunker
      • Clean room
  • Resources
    • Tutorial: Data Ingestion
      • Your first events
        • Add the mediarithmics tag
          • Getting the tag
          • Adding the tag
        • Send events using the tag
          • Adding event properties
          • Finding the UserEvent type in your schema
          • Matching your schema
          • Standard events
      • Your first bulk imports
        • API basics
          • Authentication
          • Your first API call
        • Send documents using the API
          • Requirements
          • Sending documents
    • Using our API
      • Authentication
    • Tools & libraries
      • mics CLI
      • JS Tag
      • Plugin SDK
    • Data cubes
      • Creating a report
      • Reference
Powered by GitBook
On this page
  • Create a throttling
  • Get throttlings for the Plugin Version
  • Delete a throttling
  • Update a throttling

Was this helpful?

Export as PDF
  1. Advanced usages
  2. Plugins

Throttling

Some plugins call external providers that embedded API limitations. Because some plugins have trouble handling errors when limits are reached, we may want to reduce plugin calls before reaching those limits.

Using Throttlings, you can limit usage of a given plugin version, in 3 different ways :

  • Rate limit : you can limit the number of calls by second, by using max_qps field.

  • Concurrency : you can limit the number of simultaneous calls, by using max_concurrency field.

  • Timeout : you can define a maximum duration for the calls, by using timeout_qps field.

You have to define at least one of those restrictions.

Throttling can be defined at 4 different levels :

  • GLOBAL

  • CONTAINER

  • ORGANISATION

  • DATAMART

You can define a Throttling using this route :

Create a throttling

POST https://api.mediarithmics.com/v1/plugins/:plugin_id/versions/:version_id/throttlings

Request Body

Name
Type
Description

scope*

String

Define the application scope of the Throttling. Possible values : GLOBAL, CONTAINER, DATAMART or ORGANISATION.

plugin_version_id*

String

The ID of the plugin version.

throttling_key

String

Is equals to the datamart id if the scope is DATAMART or the organisation id if the scope is ORGANISATION.

max_concurrency

Integer

The maximum number of simultaneous calls to the end_point.

max_qps

Double

The maximum number of calls to the end_point by second. It can be decimal, 0.5 means : maximum 1 call every 2 seconds.

plugin_endpoint*

String

The plugin routes affected by this throttling. Exemple : /v1/user_segment_update

timeout_ms

Integer

The call to the endpoint is killed if it lasts more than this duration (in ms).

{
    // Response
}

You can list, delete or update Throttlings by using thoses routes :

Get throttlings for the Plugin Version

GET https://api.mediarithmics.com/v1/plugins/:plugin_id/versions/:version_id/throttlings

{
    // Response
}

Delete a throttling

DELETE https://api.mediarithmics.com/v1/plugins/:plugin_id/versions/:version_id/throttlings/:throttling_id

{
    // Response
}

Update a throttling

PUT https://api.mediarithmics.com/v1/plugins/:plugin_id/versions/:version_id/throttlings/:throttling_id

Request Body

Name
Type
Description

scope*

String

Define the application scope of the Throttling. Possible values : GLOBAL, CONTAINER, DATAMART or ORGANISATION.

throttling_key

String

Is equals to the datamart id if the scope is DATAMART or the organisation id if the scope is ORGANISATION.

max_concurrency

Integer

The maximum number of simultaneous calls to the end_point.

max_qps

Double

The maximum number of calls to the end_point by second. It can be decimal, 0.5 means : maximum 1 call every 2 seconds.

plugin_endpoint*

String

The plugin routes affected by this throttling. Exemple : /v1/user_segment_update

timeout_ms

Integer

The call to the endpoint is killed if it lasts more than this duration (in ms).

{
    // Response
}
PreviousMonitoringNextBatching (for external feeds)

Last updated 3 months ago

Was this helpful?