> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aiderx.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update an allocation

> Update an existing allocation between a campaign and placement.

Access Control:
- Admin and Retailer accounts: Can update any allocation and change status to published/rejected
- Advertiser accounts: Can only update allocations for campaigns they own, cannot change status to published/rejected

If the user doesn't have permission to update the allocation, the request fails.



## OpenAPI

````yaml /openapi/adm.openapi.en-0.2.2.json patch /allocations
openapi: 3.1.0
info:
  description: >
    ## Introduction

    The Data Management APIs comprehensively oversees the **diverse data** used
    by advertising and recommendation systems, ensuring that the Decision API
    runs accurately and efficiently.


    From registering, updating, and deleting campaigns and placements to **log
    and statistics analysis**, it provides the insights necessary for effective
    system operation.


    The resulting data and metrics are used by the Decision API to **optimize ad
    and content decisions**, ultimately boosting the overall performance of the
    advertising and recommendation system.
  title: Data Management APIs
  version: 0.1.3
servers: []
security: []
tags:
  - name: Audience Targeting
  - description: >

      The Audience Management APIs to seamlessly integrate Audience-related
      data.  


      References:

      - [First-Party
      Data](https://docs.aiderx.io/guides/about-a2/en/first-party-data)
    name: Audience
  - description: >
      APIs for collecting user activity data to enhance ad targeting and
      performance optimization.


      Activity Data captures actual user behavior data like product views,
      searches, cart additions, and purchases across all users, regardless of ad
      interactions.


      References:

      - [First-Party
      Data](https://docs.aiderx.io/guides/about-a2/en/first-party-data)
    name: Activity Log
  - description: >

      The Audience Attribute API provides access to audience attribute data.


      References:

      - [Audience
      Targeting](https://docs.aiderx.io/guides/about-a2/en/audience-targeting)
    name: Audience Attribute
  - description: >

      The Audience Segment API provides access to audience segment data.


      References:

      - [Audience
      Targeting](https://docs.aiderx.io/guides/about-a2/en/audience-targeting)
    name: Audience Segment
  - description: The Analytic API provides access to dashboard and A2 metric data.
    name: Analytic
  - description: >

      The Billing API manages billing information.

      A2 is configured to work with the payment systems used by your retail
      platform.


      To integrate payments, first you need to register an external channel.

      For more information about integrating A2 with external channels, check
      out [the External channels
      page](https://docs.aiderx.io/guides/about-a2/en/external-channel).
    name: Billing
  - description: |

      The Campaign API allows you to manage data related to campaigns.

      References:
      - [Campaign](https://docs.aiderx.io/guides/about-a2/en/campaign)
    name: Campaign
  - description: >

      The Creative API provides comprehensive functionalities for managing
      creative assets and related resources.


      References:

      - [Creative](https://docs.aiderx.io/guides/about-a2/en/creative)
    name: Creative
  - description: >

      The Allocation API provides comprehensive functionalities for managing
      allocation and related resources.


      References:

      - [Allocation](https://docs.aiderx.io/guides/about-a2/en/allocation)
    name: Allocation
  - description: >

      The Media Library API provides comprehensive functionalities for managing
      media library and related resources.


      References:

      - [Media Library](https://docs.aiderx.io/guides/about-a2/en/media-library)
    name: Media Library
  - description: >

      The Catalog Management API provides functionalities for managing catalogs
      and related resources.


      References:

      - [First-Party
      Data](https://docs.aiderx.io/guides/about-a2/en/first-party-data)
    name: Catalog
  - description: >

      The Placement Management API provides comprehensive functionalities for
      managing placements and related resources.


      References:

      - [Placement](https://docs.aiderx.io/guides/about-a2/en/placement)
    name: Placement
  - description: >

      Placement Catalog transforms the placement information into a structured
      “advertising product” that can be easily showcased to advertisers.


      References:

      - To be updated
    name: Placement Catalog
  - description: >

      The System APIs allow you to access and manage system-level settings and
      assets, such as logos and configuration values.


      References:

      - [Yield Optimization
      Settings](https://docs.aiderx.io/guides/about-a2/en/yield-optimization)
    name: System
  - description: >

      The Auth and User API provides authentication and user management
      functionalities.


      References:

      - [Account and
      Budget](https://docs.aiderx.io/guides/about-a2/en/account-and-budget)
    name: Auth and User
  - description: |

      The License API provides license management functionalities.
    name: License
paths:
  /allocations:
    patch:
      tags:
        - Allocation
      summary: Update an allocation
      description: >-
        Update an existing allocation between a campaign and placement.


        Access Control:

        - Admin and Retailer accounts: Can update any allocation and change
        status to published/rejected

        - Advertiser accounts: Can only update allocations for campaigns they
        own, cannot change status to published/rejected


        If the user doesn't have permission to update the allocation, the
        request fails.
      operationId: handle_update_allocation_allocations_patch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocationUpdateSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocationReadSchema'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Bad Request
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - OAuth2PasswordBearer: []
components:
  schemas:
    AllocationUpdateSchema:
      description: Schema for updating allocation entity.
      properties:
        cid:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          description: The id of the campaign to be allocated to the placement
          title: Cid
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date and time the entity was created.
          title: Created At
        crid:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          deprecated: true
          title: Crid
        ext:
          title: Ext
          type: object
        last_comment:
          default: ''
          description: >-
            Most recent comment added by retailer during the allocation approval
            process
          title: Last Comment
          type: string
        'no':
          description: The number of the allocation
          title: 'No'
          type: integer
        owner_id:
          description: The id of the user who created this allocation
          format: uuid
          title: Owner Id
          type: string
        status:
          $ref: '#/components/schemas/AllocationStatus'
        tagid:
          description: The id of the placement where the campaign will be allocated
          format: uuid
          title: Tagid
          type: string
        updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date and time the entity was last updated.
          title: Updated At
      required:
        - tagid
        - status
        - owner_id
        - 'no'
      title: AllocationUpdateSchema
      type: object
    AllocationReadSchema:
      description: Schema for reading allocation entity.
      properties:
        cid:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          description: The id of the campaign to be allocated to the placement
          title: Cid
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date and time the entity was created.
          title: Created At
        crid:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          deprecated: true
          title: Crid
        ext:
          title: Ext
          type: object
        last_comment:
          default: ''
          description: >-
            Most recent comment added by retailer during the allocation approval
            process
          title: Last Comment
          type: string
        'no':
          description: The number of the allocation
          title: 'No'
          type: integer
        owner_id:
          description: The id of the user who created this allocation
          format: uuid
          title: Owner Id
          type: string
        status:
          description: >-
            The current status of the allocation (e.g. draft, published,
            rejected)
          title: Status
          type: string
        tagid:
          description: The id of the placement where the campaign will be allocated
          format: uuid
          title: Tagid
          type: string
        updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date and time the entity was last updated.
          title: Updated At
      required:
        - tagid
        - status
        - owner_id
        - 'no'
      title: AllocationReadSchema
      type: object
    HTTPExceptionResponse:
      description: HTTPException response model.
      properties:
        detail:
          description: Detailed explanation for the exception
          title: Detail
          type: string
      required:
        - detail
      title: HTTPExceptionResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    AllocationStatus:
      description: Represents the status of an allocation between a campaign and placement.
      enum:
        - pending
        - requested
        - published
        - rejected
        - canceled
        - finished
      title: AllocationStatus
      type: string
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    OAuth2PasswordBearer:
      flows:
        password:
          scopes: {}
          tokenUrl: auth/jwt/login
      type: oauth2

````