albertsons Campaigns API

Manage advertising campaigns on the Albertsons Media Collective.

OpenAPI Specification

albertsons-campaigns-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Albertsons Media Collective Audiences Campaigns API
  description: The Albertsons Media Collective API enables advertisers to integrate with Albertsons retail media network for campaign management and performance analytics. The API provides near-real-time access to campaign performance data, allowing advertisers to bring data into their own measurement models for analysis. Supported via the Albertsons developer portal built on Microsoft Azure API Management.
  version: '1.0'
  contact:
    name: Albertsons Media Collective
    url: https://portal-prod.apim.azwestus.stratus.albertsons.com/
  x-generated-from: documentation
servers:
- url: https://api.albertsons.com
  description: Production API server
tags:
- name: Campaigns
  description: Manage advertising campaigns on the Albertsons Media Collective.
paths:
  /campaigns:
    get:
      operationId: listCampaigns
      summary: Albertsons Media Collective List Campaigns
      description: Retrieves a list of advertising campaigns configured on the Albertsons Media Collective platform with status, budget, and targeting details.
      tags:
      - Campaigns
      parameters:
      - name: status
        in: query
        description: Filter campaigns by status (active, paused, completed, draft).
        schema:
          type: string
          enum:
          - active
          - paused
          - completed
          - draft
        example: active
      - name: limit
        in: query
        description: Maximum number of campaigns to return.
        schema:
          type: integer
          default: 20
          maximum: 100
        example: 20
      - name: offset
        in: query
        description: Number of campaigns to skip for pagination.
        schema:
          type: integer
          default: 0
        example: 0
      security:
      - bearerAuth: []
      responses:
        '200':
          description: List of campaigns retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignListResponse'
              examples:
                ListCampaigns200Example:
                  summary: Default listCampaigns 200 response
                  x-microcks-default: true
                  value:
                    campaigns:
                    - campaignId: '500123'
                      name: Spring EV Battery Promotion
                      status: active
                      budget: 50000.0
                      startDate: '2026-03-01'
                      endDate: '2026-05-31'
                      impressions: 1250000
                      clicks: 18750
                    total: 1
                    limit: 20
                    offset: 0
        '401':
          description: Unauthorized - invalid or missing bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden - insufficient permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createCampaign
      summary: Albertsons Media Collective Create Campaign
      description: Creates a new advertising campaign on the Albertsons Media Collective platform with specified budget, targeting, and scheduling parameters.
      tags:
      - Campaigns
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCampaignRequest'
            examples:
              CreateCampaignRequestExample:
                summary: Default createCampaign request
                x-microcks-default: true
                value:
                  name: Summer Grocery Promotion
                  budget: 25000.0
                  startDate: '2026-06-01'
                  endDate: '2026-08-31'
                  targetAudienceIds:
                  - aud-001
                  - aud-002
      responses:
        '201':
          description: Campaign created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
              examples:
                CreateCampaign201Example:
                  summary: Default createCampaign 201 response
                  x-microcks-default: true
                  value:
                    campaignId: '500124'
                    name: Summer Grocery Promotion
                    status: draft
                    budget: 25000.0
                    startDate: '2026-06-01'
                    endDate: '2026-08-31'
                    impressions: 0
                    clicks: 0
        '400':
          description: Bad request - invalid campaign parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /campaigns/{campaignId}:
    get:
      operationId: getCampaign
      summary: Albertsons Media Collective Get Campaign
      description: Retrieves details for a specific advertising campaign by its unique identifier, including status, budget utilization, and targeting configuration.
      tags:
      - Campaigns
      parameters:
      - name: campaignId
        in: path
        required: true
        description: Unique identifier of the campaign.
        schema:
          type: string
        example: '500123'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Campaign details retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
              examples:
                GetCampaign200Example:
                  summary: Default getCampaign 200 response
                  x-microcks-default: true
                  value:
                    campaignId: '500123'
                    name: Spring EV Battery Promotion
                    status: active
                    budget: 50000.0
                    startDate: '2026-03-01'
                    endDate: '2026-05-31'
                    impressions: 1250000
                    clicks: 18750
        '404':
          description: Campaign not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ErrorResponse:
      type: object
      title: Error Response
      description: Standard error response object.
      properties:
        error:
          type: string
          description: Error code identifier.
          example: UNAUTHORIZED
        message:
          type: string
          description: Human-readable error message.
          example: Invalid or missing bearer token.
        statusCode:
          type: integer
          description: HTTP status code.
          example: 401
    Campaign:
      type: object
      title: Campaign
      description: An advertising campaign on the Albertsons Media Collective platform.
      properties:
        campaignId:
          type: string
          description: Unique identifier of the campaign.
          example: '500123'
        name:
          type: string
          description: Display name of the campaign.
          example: Spring Grocery Promotion
        status:
          type: string
          enum:
          - active
          - paused
          - completed
          - draft
          description: Current status of the campaign.
          example: active
        budget:
          type: number
          format: double
          description: Total budget allocated to the campaign in USD.
          example: 50000.0
        startDate:
          type: string
          format: date
          description: Campaign start date in ISO 8601 format.
          example: '2026-03-01'
        endDate:
          type: string
          format: date
          description: Campaign end date in ISO 8601 format.
          example: '2026-05-31'
        impressions:
          type: integer
          description: Total impressions delivered for the campaign.
          example: 1250000
        clicks:
          type: integer
          description: Total clicks recorded for the campaign.
          example: 18750
    CampaignListResponse:
      type: object
      title: Campaign List Response
      description: Paginated list of campaigns.
      properties:
        campaigns:
          type: array
          items:
            $ref: '#/components/schemas/Campaign'
          description: Array of campaign objects.
        total:
          type: integer
          description: Total number of campaigns matching the query.
          example: 42
        limit:
          type: integer
          description: Maximum number of results returned.
          example: 20
        offset:
          type: integer
          description: Number of results skipped.
          example: 0
    CreateCampaignRequest:
      type: object
      title: Create Campaign Request
      description: Request body for creating a new advertising campaign.
      required:
      - name
      - budget
      - startDate
      - endDate
      properties:
        name:
          type: string
          description: Display name for the new campaign.
          example: Summer Grocery Promotion
        budget:
          type: number
          format: double
          description: Total budget allocated to the campaign in USD.
          example: 25000.0
        startDate:
          type: string
          format: date
          description: Campaign start date (ISO 8601).
          example: '2026-06-01'
        endDate:
          type: string
          format: date
          description: Campaign end date (ISO 8601).
          example: '2026-08-31'
        targetAudienceIds:
          type: array
          items:
            type: string
          description: List of audience segment IDs for targeting.
          example:
          - aud-001
          - aud-002
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication via Azure AD OAuth2.