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

# Create a conversion

> Requires conversion.create. X-Api-Key is required; sessions are not accepted. Omit projectId only when the key is restricted to exactly one project; global and multiple-project keys must provide it. X-Team-Id is unnecessary and must match the key team when supplied. Value accepts numeric coercion and is rounded to two decimals, then converted into the project currency. An omitted source currency defaults to BRL. Missing transactionId, paymentMethod and visitorId read back as empty strings. Status defaults to paid. A repeated nonempty transactionId with the same status returns DUPLICATE_CONVERSION (409).



## OpenAPI

````yaml https://api.trackup.me/openapi.json post /v1/conversions
openapi: 3.1.0
info:
  title: Trackup API
  description: >-
    API-key-accessible Trackup operations. Send your key in the `X-Api-Key`
    header.


    Keys belong to a team. `X-Team-Id` is not required; if supplied, it must
    match that team.


    Each operation lists its required key permission. The key creator must
    remain a team member and normally hold that permission. The ingest-only
    permissions `visitor.create`, `conversion.create`, and `request.create` do
    not need to be held by the creator.


    Project access and selection are described per operation. Session-only
    account, administration and OAuth operations are not part of this reference.


    The same operations are available as MCP tools at `/mcp` (Streamable HTTP).
    Authenticate with `X-Api-Key` or connect through OAuth, which issues an API
    key on consent.


    Schema validation errors return HTTP 422 with an `errors` object. Other
    errors generally contain `error` and `message`; operation-specific responses
    describe exceptions.
  version: 1.0.0
servers:
  - url: /
    description: Current API environment
security:
  - ApiKey: []
paths:
  /v1/conversions:
    post:
      tags:
        - Ingest
      summary: Create a conversion
      description: >-
        Requires conversion.create. X-Api-Key is required; sessions are not
        accepted. Omit projectId only when the key is restricted to exactly one
        project; global and multiple-project keys must provide it. X-Team-Id is
        unnecessary and must match the key team when supplied. Value accepts
        numeric coercion and is rounded to two decimals, then converted into the
        project currency. An omitted source currency defaults to BRL. Missing
        transactionId, paymentMethod and visitorId read back as empty strings.
        Status defaults to paid. A repeated nonempty transactionId with the same
        status returns DUPLICATE_CONVERSION (409).
      operationId: createConversion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  format: uuid
                transactionId:
                  type: string
                value:
                  type: number
                currency:
                  type: string
                paymentMethod:
                  type: string
                status:
                  type: string
                  enum:
                    - paid
                    - pending
                  default: paid
                ip:
                  type: string
                userAgent:
                  type: string
                visitorId:
                  type: string
                trafficSource:
                  type: string
                utmSource:
                  type: string
                utmMedium:
                  type: string
                utmCampaign:
                  type: string
                utmTerm:
                  type: string
                utmContent:
                  type: string
                clickId:
                  type: string
                sub1:
                  type: string
                sub2:
                  type: string
                sub3:
                  type: string
                sub4:
                  type: string
                sub5:
                  type: string
                sub6:
                  type: string
                sub7:
                  type: string
                sub8:
                  type: string
              required:
                - value
            examples:
              singleProject:
                summary: Synthetic BRL conversion
                value:
                  transactionId: order-example-1
                  value: 49.9
                  currency: BRL
                  paymentMethod: pix
                  status: paid
              explicitProject:
                summary: Synthetic example selecting a project
                value:
                  projectId: 22222222-2222-4222-8222-222222222222
                  transactionId: order-example-1
                  value: 49.9
                  currency: BRL
                  paymentMethod: pix
                  status: paid
              foreignCurrency:
                summary: >-
                  Synthetic USD input; the response amount depends on the
                  current exchange rate and project currency
                value:
                  transactionId: order-example-1
                  value: 10
                  currency: USD
                  paymentMethod: pix
                  status: paid
      responses:
        '201':
          description: Created conversion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestConversion'
        '400':
          description: Malformed request or an invalid operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: The X-Api-Key header is missing or the API key is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: >-
            The key is expired, revoked, lacks permission, or its creator no
            longer has the required team access. A conflicting X-Team-Id is also
            rejected.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: >-
            The requested resource was not found or is outside the permitted
            scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: The operation conflicts with existing data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: >-
            Invalid input. Each field path maps to its first validation message;
            _form identifies an object-level error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: An unexpected error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '502':
          description: An upstream service could not complete the operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    IngestConversion:
      type: object
      properties:
        id:
          type: string
        timestamp:
          type: string
          description: ClickHouse UTC timestamp, for example 2026-06-01 12:00:00.000.
        transactionId:
          type: string
        value:
          type: number
        currency:
          type: string
        paymentMethod:
          type: string
        status:
          type: string
          enum:
            - paid
            - pending
        visitorId:
          type: string
      required:
        - id
        - timestamp
        - transactionId
        - value
        - currency
        - paymentMethod
        - status
        - visitorId
      example:
        id: 11111111-1111-4111-8111-111111111111
        timestamp: '2026-06-01 12:00:00.000'
        transactionId: order-example-1
        value: 49.9
        currency: BRL
        paymentMethod: pix
        status: paid
        visitorId: visitor-example-1
    ApiError:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
      additionalProperties: true
    ValidationError:
      type: object
      properties:
        errors:
          type: object
          additionalProperties:
            type: string
      required:
        - errors
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-Api-Key

````

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