Skai (Kenshoo) Automated Actions API

The Automated Actions API from Skai (Kenshoo) — 1 operation(s) for automated actions.

Operations 1

PUT /api/v1/automated_actions AutomatedAction #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/skai-kenshoo-automated-actions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

skai-kenshoo-automated-actions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Skai Automated Actions API
  description: '# Overview

    Skai APIs provide programmatic access to advertising data and campaign management across Search, Social, and Retail Media publishers.'
  version: 1.0.0
  x-logo:
    url: https://grid.kenshoo.com/resources-frontend/latest/kenshoo_logo/skai-logo-devportal.svg
    backgroundColor: '#FFFFFF'
    altText: Skai
servers:
- url: https://services.kenshoo.com
security:
- BearerAuth: []
tags:
- name: Automated Actions
paths:
  /api/v1/automated_actions:
    put:
      summary: AutomatedAction
      operationId: updateAutomatedActions
      parameters:
      - $ref: '#/components/parameters/ks'
      requestBody:
        $ref: '#/components/requestBodies/CreateAutomatedAction'
      responses:
        200:
          description: 200 response
        300:
          description: 300 response
      tags:
      - Automated Actions
components:
  schemas:
    ReportRequest:
      required:
      - date_range
      - entity
      - fields
      type: object
      properties:
        entity:
          $ref: '#/components/schemas/ReportEntity'
        date_range:
          $ref: '#/components/schemas/DateRange'
        fields:
          uniqueItems: true
          type: array
          description: 'The columns to be fetched. See [here](#operation/getAvailableColumns) for available columns.

            To get data segmented by date, add a date column, like so: `{"name": "Day", "group": "TimeSegment"}`'
          items:
            $ref: '#/components/schemas/Column'
        filters:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/ReportFilter'
        sort:
          $ref: '#/components/schemas/ReportSort'
        info_level:
          type: string
          description: Show summary records only, breakdown records only, or both.
          enum:
          - SUMMARY
          - BREAKDOWN
          - BOTH
          default: BOTH
        breakdown_type:
          type: string
          description: To get data segmented only by date, use `GROUP`. To segment by both date and another column, use `SEGMENT` with only the date column in group_bys and include the other column in `fields` (these columns will be fetched). Otherwise, use `FLAT`
          enum:
          - FLAT
          - GROUP
          - SEGMENT
          default: FLAT
        group_bys:
          type: Array
          description: When the breakdown type is "SEGMENT", select columns by which to group the data.
        profile_token:
          type: string
          description: Profile token. This is needed to access [Single-Profile columns](#operation/getAvailableColumns) (alternative to profile_id).
        profile_id:
          type: number
          description: Profile ID. This is needed to access [Single-Profile columns](#operation/getAvailableColumns) (alternative to profile_token).
        limit:
          maximum: 1000
          type: integer
          description: Set a limit for the retrieved records
          format: int32
          default: 1000
        page:
          type: integer
          description: The number of the report page you want to retrieve. You can use this together with the Limit parameter to define the number of records per page. The first page number is 0.
          format: int32
          default: 0
      description: The properties for the report request
      example:
        entity: CAMPAIGN
        profile_id: 118
        date_range:
          start_date: '2026-01-01'
          end_date: '2026-01-14'
        fields:
        - name: CampaignName
          group: ATTRIBUTES
        - name: Clicks
          group: PERFORMANCE
        filters:
        - field: StatusToDisplay
          group: ATTRIBUTES
          operator: In
          values:
          - Approved
          - Active
        - field: CampaignName
          group: ATTRIBUTES
          operator: CONTAINS
          values:
          - My
        - field: Impressions
          group: PERFORMANCE
          operator: GREATER_THAN
          values:
          - '0'
        breakdown_type: GROUP
        sort:
          field: CampaignName
          group: ATTRIBUTES
          order: DESCENDING
        limit: 1000
        page: 0
    DateRange:
      required:
      - end_date
      - start_date
      type: object
      properties:
        start_date:
          type: string
          description: Start date in YYYY-MM-dd format
        end_date:
          type: string
          description: End date in YYYY-MM-dd format
        exclude_dates:
          type: array
          items:
            type: string
            description: Dates to exclude in YYYY-MM-dd format
            readOnly: true
      description: The properties of the date range.
      example:
      - start_date: '2026-01-01'
        end_date: '2026-01-14'
        exclude_dates:
        - '2026-01-07'
    Column:
      required:
      - group
      - name
      type: object
      properties:
        name:
          type: string
          description: Field name to be fetched
        group:
          type: string
          description: Each column belongs to a group. This list is partial - your account may have additional column groups. Group names are available in the getAvailableColumns endpoint
          enum:
          - Attributes
          - Performance
          - Dimensions
          - CustomMetrics
          - CustomMetricsPlus
          - ConversionTypes
          - ChannelCustomerConversionTypes
          - ProxyCustomerConversionTypes
          - ExternalCustomerConversionTypes
        id:
          type: string
          readOnly: true
        display_name:
          type: string
          readOnly: true
        value_type:
          type: string
          readOnly: true
          enum:
          - STRING
          - INTEGER
          - FLOAT
          - BOOLEAN
          - DATE
      description: The properties of a field
      example:
      - name: Clicks
        group: Performance
    ReportEntity:
      type: string
      description: The base entity for the report, indicated in the analysis grid name. Important - When using the API for product grids, refer to the entity as "PRODUCT_ASSET".
      enum:
      - CAMPAIGN
      - ADGROUP
      - KEYWORD
      - AD
      - PORTFOLIO
      - PRODUCT_ASSET
      - LOCATIONS
      - NEGATIVE_KEYWORDS
      - SITELINK
      - CREATIVE_ASSET
      - PRODUCT_TARGETING
      - ASSET_GROUP
    ReportSort:
      required:
      - field
      - group
      type: object
      properties:
        field:
          type: string
          description: The field to be sorted
        order:
          type: string
          enum:
          - ASCENDING
          - DESCENDING
          default: ASCENDING
        group:
          type: string
          description: Each column belongs to a group. This list is partial - your account may have additional column groups. Group names are available in the getAvailableColumns endpoint
          enum:
          - ATTRIBUTES
          - PERFORMANCE
          - DIMENSIONS
          - CUSTOM_METRICS
          - CUSTOM_METRICS_PLUS
          - CONVERSION_TYPES
          - CHANNEL_CUSTOMER_CONVERSION_TYPES
          - PROXY_CUSTOMER_CONVERSION_TYPES
          - EXTERNAL_CUSTOMER_CONVERSION_TYPES
      description: The properties of the sort
      example:
        field: CampaignId
        group: ATTRIBUTES
        order: DESCENDING
    AutomatedAction:
      type: object
      properties:
        id:
          type: Integer
        name:
          type: string
        status:
          type: String
        data_readiness:
          type: boolean
        hidden:
          type: boolean
        action_type:
          type: String
          enum:
          - SET_BID_STRATEGY
          - SEND_EMAIL
        notificationType:
          type: string
          enum:
          - ALWAYS
          - ON_ANY_RESULT
          - ON_ERRORS
          - NEVER
        recipients:
          type: String
        start_date:
          type: String
        timezone:
          type: String
        scheduling:
          type: String
          enum:
          - DAILY
          - WEEKLY
          - MONTHLY
          - SPECIFIC_DATE
        reportRequestDTO:
          $ref: '#/components/schemas/ReportRequest'
        parameters:
          type: String
      example:
        name: Set up target CPA
        status: Active
        data_readiness: 'false'
        action_type: SET_BID_STRATEGY
        notificationType: ALWAYS
        recipients: _devSocialPegasus@kenshoo.com
    ReportFilter:
      required:
      - field
      - operator
      - values
      type: object
      properties:
        field:
          type: string
          description: Field name to be fetched
        operator:
          type: string
          enum:
          - EQUALS
          - NOT_EQUALS
          - IN
          - NOT_IN
          - GREATER_THAN
          - GREATER_THAN_EQUALS
          - LESS_THAN
          - LESS_THAN_EQUALS
          - STARTS_WITH
          - CONTAINS
          - DOES_NOT_CONTAIN
          - CONTAINS_ANY
          - CONTAINS_NONE
          - ENDS_WITH
          - IS_EMPTY
          - IS_NOT_EMPTY
          - BETWEEN
        values:
          type: array
          items:
            type: string
        group:
          type: string
          description: Each column belongs to a group. This list is partial - your account may have additional column groups. Group names are available in the getAvailableColumns endpoint
          enum:
          - ATTRIBUTES
          - PERFORMANCE
          - DIMENSIONS
          - CUSTOM_METRICS
          - CUSTOM_METRICS_PLUS
          - CONVERSION_TYPES
          - CHANNEL_CUSTOMER_CONVERSION_TYPES
          - PROXY_CUSTOMER_CONVERSION_TYPES
          - EXTERNAL_CUSTOMER_CONVERSION_TYPES
      description: Name of the field to which the condition will apply with certain values.
      example:
      - field: StatusToDisplay
        group: ATTRIBUTES
        operator: In
        values:
        - Approved
        - Active
      - field: CampaignName
        group: ATTRIBUTES
        operator: CONTAINS
        values:
        - New
      - field: Impressions
        group: PERFORMANCE
        operator: GREATER_THAN
        values:
        - '0'
  parameters:
    ks:
      name: ks
      in: query
      description: The KS to refer the request to. You can find this ID in the Skai platform under _Administration_ -> _About Skai_ -> _Server ID_
      required: true
      style: form
      explode: true
      schema:
        type: string
      example: '1234'
  requestBodies:
    CreateAutomatedAction:
      description: The automated action details
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AutomatedAction'
      required: true
x-tagGroups:
- name: Reporting
  tags:
  - Available Columns
  - Synchronous Reports
  - Asynchronous Reports
- name: Bulk Operations
  tags:
  - Jobs
  - Bulk Update
- name: AI & MCP
  tags:
  - MCP
- name: Objects
  tags:
  - Profile
  - Campaigns
  - Ad Groups
  - Ads
  - Product Groups
  - Portfolios
  - Meta Campaigns
  - Meta Ad Groups
  - Meta Ads
  - Columns