AirOps Content Updates API

The Content Updates API from AirOps — 3 operation(s) for content updates.

Operations 4

POST /public_api/brand_kits/{brand_kit_id}/content_updates/list List Content Updates #
POST /public_api/brand_kits/{brand_kit_id}/content_updates Create Content Updates #
GET /public_api/brand_kits/{brand_kit_id}/content_updates/{id} Get Content Update #
DELETE /public_api/brand_kits/{brand_kit_id}/content_updates/{id} Destroy Content Updates #

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/airops-content-updates-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 email required.

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

OpenAPI Specification

airops-content-updates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: V1 Content Updates API
  version: v1
servers:
- url: https://api.airops.com
  variables:
    defaultHost:
      default: api.airops.com
tags:
- name: Content Updates
  x-parent: Brand Kits
paths:
  /public_api/brand_kits/{brand_kit_id}/content_updates/list:
    post:
      summary: List Content Updates
      description: Track content updates.
      tags:
      - Content Updates
      operationId: listBrandKitsContentUpdates
      security:
      - bearer: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type:
                          - integer
                          - 'null'
                          description: Unique identifier for the content update
                        url:
                          type:
                          - string
                          - 'null'
                          description: The URL associated with the content update
                        type:
                          type:
                          - string
                          - 'null'
                          description: Type of content update
                          enum:
                          - page_published
                          - page_refreshed
                          - null
                        source:
                          type:
                          - string
                          - 'null'
                          description: Source that created the content update
                          enum:
                          - track_event_step
                          - wordpress_native_cms_integration
                          - webflow_native_cms_integration
                          - shopify_native_cms_integration
                          - ghost_native_cms_integration
                          - webflow_grid_export
                          - wordpress_grid_export
                          - mcp
                          - api
                          - web_page_change_tracking
                          - null
                        brand_kit_id:
                          type:
                          - integer
                          - 'null'
                          description: ID of the associated Brand Kit
                        workspace_id:
                          type:
                          - integer
                          - 'null'
                          description: ID of the associated workspace
                        created_at:
                          type:
                          - string
                          - 'null'
                          description: When the content update was created
                        updated_at:
                          type:
                          - string
                          - 'null'
                          description: When the content update was last updated
                        change_detection:
                          type:
                          - object
                          - 'null'
                          description: 'Change detection for this content update: detection status, the categories of detected changes, and whether a before/after diff is available. On a single-update fetch it also carries a nested `changes` array (the before/after diff). Null when change detection has not run for the update, including workspaces where it is not enabled.'
                        metadata_entries:
                          type:
                          - array
                          - 'null'
                          description: Included metadata_entries collection (when requested via includes param)
                          items:
                            type: object
                  meta:
                    type: object
                    properties:
                      page:
                        type: integer
                      per_page:
                        type: integer
                      total_count:
                        type: integer
                      total_pages:
                        type: integer
                required:
                - data
                - meta
        '400':
          description: Bad request - invalid parameters, filters, or sort options
        '401':
          description: Unauthorized - invalid or missing authentication token
        '404':
          description: Not found - resource does not exist
        '412':
          description: Precondition failed - AEO not configured for this brand kit
      parameters:
      - name: brand_kit_id
        in: path
        required: true
        schema:
          type: integer
        description: The Brand Kit ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                workspace_id:
                  type: integer
                  description: ID of the workspace to retrieve results from. If not provided, returns results from all workspaces the user belongs to.
                brand_kit_id:
                  type: integer
                  description: Optional Brand Kit ID to filter content updates by
                filters:
                  type: array
                  description: 'Filter results. Nested fields (e.g. `writing_rules.text`) filter within an included association and require that association in `includes`.


                    **Available fields:**

                    - **url** (EQUALS, CONTAINS): Filter by content update URL

                    - **type** (EQ, IN): Filter by content update type

                    - **source** (EQ, IN): Filter by content update source

                    - **brand_kit_id** (EQ): Filter by Brand Kit ID

                    - **created_at** (GT, LT, GEQ, LEQ): Filter by creation date

                    - **has_changes** (EQ): Filter to content updates where change detection found at least one confirmed change (true) or found none / has no detection run (false)'
                  items:
                    type: object
                    properties:
                      field:
                        type: string
                        enum:
                        - url
                        - type
                        - source
                        - brand_kit_id
                        - created_at
                        - has_changes
                        description: 'Field to filter on. url: Filter by content update URL; type: Filter by content update type (values: page_published, page_refreshed); source: Filter by content update source (values: track_event_step, wordpress_native_cms_integration, webflow_native_cms_integration, shopify_native_cms_integration, ghost_native_cms_integration, webflow_grid_export, wordpress_grid_export, mcp, api, web_page_change_tracking); brand_kit_id: Filter by Brand Kit ID; created_at: Filter by creation date; has_changes: Filter to content updates where change detection found at least one confirmed change (true) or found none / has no detection run (false)'
                      operator:
                        type: string
                        enum:
                        - EQUALS
                        - CONTAINS
                        - EQ
                        - IN
                        - GT
                        - LT
                        - GEQ
                        - LEQ
                        description: 'Filter operator.


                          - **EQ/EQUALS**: Exact match

                          - **NEQ**: Not equal

                          - **GT/GEQ/LT/LEQ**: Numeric/date comparisons

                          - **CONTAINS**: Partial text match

                          - **STARTS_WITH**: Text prefix match

                          - **IN**: Match any value in array

                          - **HAS_ALL**: (tags filter) match only items having every listed value

                          - **NOT_IN**: (tags filter) match only items having none of the listed values'
                      value:
                        description: Filter value (type depends on field and operator)
                    required:
                    - field
                    - operator
                    - value
                includes:
                  type: array
                  description: 'Include related resources.


                    **Available includes:**

                    - **metadata_entries**: Include metadata key-value pairs for each event'
                  items:
                    type: string
                    enum:
                    - metadata_entries
                fields:
                  type: array
                  description: 'Select additional fields to return.


                    **Optional fields:**

                    - **id**: Unique identifier for the content update

                    - **url**: The URL associated with the content update

                    - **type**: Type of content update

                    - **source**: Source that created the content update

                    - **brand_kit_id**: ID of the associated Brand Kit

                    - **workspace_id**: ID of the associated workspace

                    - **created_at**: When the content update was created

                    - **updated_at**: When the content update was last updated

                    - **change_detection**: Change detection for this content update: detection status, the categories of detected changes, and whether a before/after diff is available. On a single-update fetch it also carries a nested `changes` array (the before/after diff). Null when change detection has not run for the update, including workspaces where it is not enabled.'
                  items:
                    type: string
                    enum:
                    - id
                    - url
                    - type
                    - source
                    - brand_kit_id
                    - workspace_id
                    - created_at
                    - updated_at
                    - change_detection
                sort:
                  type: string
                  enum:
                  - created_at
                  - -created_at
                  - updated_at
                  - -updated_at
                  - url
                  - -url
                  description: 'Sort field. Prefix with - for descending.


                    **Available sort fields:**

                    - **created_at/-created_at**: Sort by creation date

                    - **updated_at/-updated_at**: Sort by last update date

                    - **url/-url**: Sort alphabetically by URL'
                  default: -created_at
                page:
                  type: integer
                  default: 1
                  description: Page number
                per_page:
                  type: integer
                  default: 25
                  maximum: 100
                  description: Items per page
  /public_api/brand_kits/{brand_kit_id}/content_updates:
    post:
      summary: Create Content Updates
      description: Track content updates.
      tags:
      - Content Updates
      operationId: createBrandKitsContentUpdates
      security:
      - bearer: []
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type:
                        - integer
                        - 'null'
                        description: Unique identifier for the content update
                      url:
                        type:
                        - string
                        - 'null'
                        description: The URL associated with the content update
                      type:
                        type:
                        - string
                        - 'null'
                        description: Type of content update
                        enum:
                        - page_published
                        - page_refreshed
                        - null
                      source:
                        type:
                        - string
                        - 'null'
                        description: Source that created the content update
                        enum:
                        - track_event_step
                        - wordpress_native_cms_integration
                        - webflow_native_cms_integration
                        - shopify_native_cms_integration
                        - ghost_native_cms_integration
                        - webflow_grid_export
                        - wordpress_grid_export
                        - mcp
                        - api
                        - web_page_change_tracking
                        - null
                      brand_kit_id:
                        type:
                        - integer
                        - 'null'
                        description: ID of the associated Brand Kit
                      workspace_id:
                        type:
                        - integer
                        - 'null'
                        description: ID of the associated workspace
                      created_at:
                        type:
                        - string
                        - 'null'
                        description: When the content update was created
                      updated_at:
                        type:
                        - string
                        - 'null'
                        description: When the content update was last updated
                      change_detection:
                        type:
                        - object
                        - 'null'
                        description: 'Change detection for this content update: detection status, the categories of detected changes, and whether a before/after diff is available. On a single-update fetch it also carries a nested `changes` array (the before/after diff). Null when change detection has not run for the update, including workspaces where it is not enabled.'
                      metadata_entries:
                        type:
                        - array
                        - 'null'
                        description: Included metadata_entries collection (when requested via includes param)
                        items:
                          type: object
                required:
                - data
        '400':
          description: Bad request - invalid parameters, filters, or sort options
        '401':
          description: Unauthorized - invalid or missing authentication token
        '404':
          description: Not found - resource does not exist
        '412':
          description: Precondition failed - AEO not configured for this brand kit
        '422':
          description: Unprocessable entity - validation failed
      parameters:
      - name: brand_kit_id
        in: path
        required: true
        schema:
          type: integer
        description: The Brand Kit ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: The page URL to track
                type:
                  type: string
                  enum:
                  - page_published
                  - page_refreshed
                  description: Type of content update
                custom_attributes:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Attribute key
                      value:
                        type: string
                        description: Attribute value
                    required:
                    - key
                    - value
                  description: Optional custom metadata key-value pairs
              required:
              - url
              - type
  /public_api/brand_kits/{brand_kit_id}/content_updates/{id}:
    get:
      summary: Get Content Update
      description: Track content updates.
      tags:
      - Content Updates
      operationId: getBrandKitsContentUpdate
      security:
      - bearer: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type:
                        - integer
                        - 'null'
                        description: Unique identifier for the content update
                      url:
                        type:
                        - string
                        - 'null'
                        description: The URL associated with the content update
                      type:
                        type:
                        - string
                        - 'null'
                        description: Type of content update
                        enum:
                        - page_published
                        - page_refreshed
                        - null
                      source:
                        type:
                        - string
                        - 'null'
                        description: Source that created the content update
                        enum:
                        - track_event_step
                        - wordpress_native_cms_integration
                        - webflow_native_cms_integration
                        - shopify_native_cms_integration
                        - ghost_native_cms_integration
                        - webflow_grid_export
                        - wordpress_grid_export
                        - mcp
                        - api
                        - web_page_change_tracking
                        - null
                      brand_kit_id:
                        type:
                        - integer
                        - 'null'
                        description: ID of the associated Brand Kit
                      workspace_id:
                        type:
                        - integer
                        - 'null'
                        description: ID of the associated workspace
                      created_at:
                        type:
                        - string
                        - 'null'
                        description: When the content update was created
                      updated_at:
                        type:
                        - string
                        - 'null'
                        description: When the content update was last updated
                      change_detection:
                        type:
                        - object
                        - 'null'
                        description: 'Change detection for this content update: detection status, the categories of detected changes, and whether a before/after diff is available. On a single-update fetch it also carries a nested `changes` array (the before/after diff). Null when change detection has not run for the update, including workspaces where it is not enabled.'
                      metadata_entries:
                        type:
                        - array
                        - 'null'
                        description: Included metadata_entries collection (when requested via includes param)
                        items:
                          type: object
                required:
                - data
        '400':
          description: Bad request - invalid parameters, filters, or sort options
        '401':
          description: Unauthorized - invalid or missing authentication token
        '404':
          description: Not found - resource does not exist
        '412':
          description: Precondition failed - AEO not configured for this brand kit
      parameters:
      - name: brand_kit_id
        in: path
        required: true
        schema:
          type: integer
        description: The Brand Kit ID
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: The resource ID
    delete:
      summary: Destroy Content Updates
      description: Track content updates.
      tags:
      - Content Updates
      operationId: destroyBrandKitsContentUpdates
      security:
      - bearer: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema: {}
        '400':
          description: Bad request - invalid parameters, filters, or sort options
        '401':
          description: Unauthorized - invalid or missing authentication token
        '404':
          description: Not found - resource does not exist
        '412':
          description: Precondition failed - AEO not configured for this brand kit
      parameters:
      - name: brand_kit_id
        in: path
        required: true
        schema:
          type: integer
        description: The Brand Kit ID
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: The resource ID
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer