> ## Documentation Index
> Fetch the complete documentation index at: https://omniflow-vpn.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Post v1accountorders attribution

> Records where one of the caller's own orders came from, for the operator's own advertising measurement.
A separate call rather than a field on the checkout: a checkout is created from the bot as well as from the browser, and the bot has no URL to have carried anything. The storefront sends this only when the visitor agreed to measurement.
An order that is not the caller's answers 404, the same as one that does not exist — a different answer would confirm that somebody else's order exists.
Attribution hangs off the order rather than the customer. An order is a conversion with an amount and a date; a click identifier held against a person for the life of their account is a profile, which none of this needs.



## OpenAPI

````yaml https://raw.githubusercontent.com/kewldan/omniflow/main/api/openapi.yaml post /v1/account/orders/{orderID}/attribution
openapi: 3.0.3
info:
  title: Omniflow API
  version: 1.0.0
  description: >-
    Customer, commerce, payment, wallet, fulfillment, and operations API for
    Omniflow.
servers: []
security: []
paths:
  /v1/account/orders/{orderID}/attribution:
    post:
      tags:
        - account
      description: >-
        Records where one of the caller's own orders came from, for the
        operator's own advertising measurement.

        A separate call rather than a field on the checkout: a checkout is
        created from the bot as well as from the browser, and the bot has no URL
        to have carried anything. The storefront sends this only when the
        visitor agreed to measurement.

        An order that is not the caller's answers 404, the same as one that does
        not exist — a different answer would confirm that somebody else's order
        exists.

        Attribution hangs off the order rather than the customer. An order is a
        conversion with an amount and a date; a click identifier held against a
        person for the life of their account is a profile, which none of this
        needs.
      operationId: recordAccountOrderAttribution
      parameters:
        - in: path
          name: orderID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/CSRFToken'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountAttributionInput'
      responses:
        '204':
          description: Recorded
        '401':
          $ref: '#/components/responses/Problem'
        '404':
          $ref: '#/components/responses/Problem'
        '422':
          $ref: '#/components/responses/Problem'
components:
  parameters:
    CSRFToken:
      in: header
      name: X-CSRF-Token
      required: true
      description: >-
        Echoes the token from the current session. Required on every unsafe
        method.
      schema:
        type: string
  schemas:
    AccountAttributionInput:
      type: object
      description: At least one field must be present.
      properties:
        clickId:
          type: string
          description: The advertising platform's own identifier for the click it sold.
        clickSource:
          type: string
          enum:
            - google
            - yandex
            - meta
            - microsoft
            - tiktok
            - x
        source:
          type: string
          maxLength: 120
        medium:
          type: string
          maxLength: 120
        campaign:
          type: string
          maxLength: 120
        content:
          type: string
          maxLength: 120
        term:
          type: string
          maxLength: 120
    Problem:
      type: object
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        request_id:
          type: string
  responses:
    Problem:
      description: Request failed
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.