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

# Queue uploaded payment-control imports for processing

> Publishes a RabbitMQ command for each import that is still in `Submitted` status. Status delivery on completion has two mutually exclusive modes:

1. **SignalR (default for the Lens UI):** supply `correlationId`. The import service posts a callback to the internal Lens webhook, which broadcasts to the caller via the `LensPaymentControlImportStatus` event.

2. **Webhook (for API integrators):** supply `webhookUrl` (HTTPS recommended) and an optional `webhookSecret`. The import service POSTs a signed JSON envelope (`PaymentControlImportStatus_Request` shape) to your URL on terminal status. Verify `X-TIC-Signature` (HMAC-SHA256 of the body with your secret).

Imports already past Submitted are silently skipped. When both modes are supplied, `webhookUrl` wins and no SignalR broadcast occurs for that import.

<Badge color="yellow" size="sm">Enterprise+ tier</Badge>


## OpenAPI

````yaml post /payment-controls/imports/process
openapi: 3.1.1
info:
  title: TIC Lens API
  description: "The TIC Lens API provides programmatic access to company, person, property, vehicle, and order data.\r\n\r\n## Authentication\r\n\r\nAll requests require an API key passed via the `x-api-key` header:\r\n\r\n```bash\r\ncurl -H \"x-api-key: YOUR_API_KEY\" https://lens-api.tic.io/companies/123\r\n```\r\n\r\nAPI keys are managed through the TIC Lens web application under **Settings → API Keys**.\r\n\r\n## Base URL\r\n\r\n| Environment | URL |\r\n|-------------|-----|\r\n| Production  | `https://lens-api.tic.io` |\r\n\r\n## Feature Access\r\n\r\nEndpoints are gated by your subscription plan. If your plan does not include a feature, the endpoint will return `403 Forbidden`.\r\n\r\n## Rate Limits\r\n\r\nRate limits are applied per API key. If you exceed the limit, requests will return `429 Too Many Requests`.\r\n\r\n## Response Format\r\n\r\nAll responses are JSON. Null values are omitted from responses.\r\n"
  version: v1
servers:
  - url: https://lens-api.tic.io
security:
  - ApiKey: []
tags:
  - name: Addresses
  - name: Bolagsverket
  - name: Brf
  - name: Companies
  - name: Documents
  - name: FlightImages
  - name: Free
  - name: Orders
  - name: OrdersExports
  - name: PaymentControl
  - name: PaymentControlImport
  - name: Persons
  - name: Properties
  - name: PublicSearch
  - name: SearchAutocomplete
  - name: Sentinel
  - name: ServingPermits
  - name: Team
  - name: Teams
  - name: Transportstyrelsen
  - name: Vehicles
  - name: WatchList
paths:
  /payment-controls/imports/process:
    post:
      tags:
        - PaymentControlImport
      summary: Queue uploaded payment-control imports for processing
      description: >-
        Publishes a RabbitMQ command for each import that is still in
        `Submitted` status. Status delivery on completion has two mutually
        exclusive modes:


        1. **SignalR (default for the Lens UI):** supply `correlationId`. The
        import service posts a callback to the internal Lens webhook, which
        broadcasts to the caller via the `LensPaymentControlImportStatus` event.


        2. **Webhook (for API integrators):** supply `webhookUrl` (HTTPS
        recommended) and an optional `webhookSecret`. The import service POSTs a
        signed JSON envelope (`PaymentControlImportStatus_Request` shape) to
        your URL on terminal status. Verify `X-TIC-Signature` (HMAC-SHA256 of
        the body with your secret).


        Imports already past Submitted are silently skipped. When both modes are
        supplied, `webhookUrl` wins and no SignalR broadcast occurs for that
        import.
      operationId: ProcessPaymentControlImports
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: >-
                #/components/schemas/Ormeo_Web_Lens_Models_PaymentControlImport_PaymentControlImportProcess_Request
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Ormeo_Web_Lens_Models_PaymentControlImport_PaymentControlImportProcess_Request
          text/json:
            schema:
              $ref: >-
                #/components/schemas/Ormeo_Web_Lens_Models_PaymentControlImport_PaymentControlImportProcess_Request
          application/*+json:
            schema:
              $ref: >-
                #/components/schemas/Ormeo_Web_Lens_Models_PaymentControlImport_PaymentControlImportProcess_Request
      responses:
        '200':
          description: Processed/skipped counts and any per-import errors
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Ormeo_Web_Lens_Models_PaymentControlImport_PaymentControlImportProcess_Response
        '400':
          description: No import GUIDs supplied, or invalid webhook configuration
components:
  schemas:
    Ormeo_Web_Lens_Models_PaymentControlImport_PaymentControlImportProcess_Request:
      type: object
      properties:
        importGuids:
          type:
            - 'null'
            - array
          items:
            type: string
            format: uuid
        correlationId:
          type:
            - 'null'
            - string
        webhookUrl:
          type:
            - 'null'
            - string
        webhookSecret:
          type:
            - 'null'
            - string
      additionalProperties: false
    Ormeo_Web_Lens_Models_PaymentControlImport_PaymentControlImportProcess_Response:
      type: object
      properties:
        processedCount:
          type: integer
          format: int32
        skippedCount:
          type: integer
          format: int32
        errors:
          type:
            - 'null'
            - array
          items:
            type: string
      additionalProperties: false
  securitySchemes:
    ApiKey:
      type: apiKey
      name: x-api-key
      in: header

````