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

# Create a draft rate plan



## OpenAPI

````yaml /openapi/openapi.yaml post /payments/virtual-poses/{posId}/rate-plans
openapi: 3.1.0
info:
  title: Tahsil API
  version: 1.0.0
  description: >-
    Tahsil müşterilerinin web ve mobil uygulamalarda kullandığı tenant-scoped
    müşteri API sözleşmesi.
servers:
  - url: https://api.tahsil.dev
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Operations - Health
    description: Public liveness and dependency readiness probes.
  - name: Identity - Auth
    description: User login, refresh and logout flows for token-based access.
  - name: Banking - Accounts
    description: Bank account aggregation endpoints available to customer tenants.
  - name: Banking - Transactions
    description: Bank transaction ingestion and retrieval endpoints.
  - name: Banking - Automation
    description: Tenant transaction matching rules, assignments and historical runs.
  - name: Banking - Polling
    description: Polling schedule definitions for bank connector queries.
  - name: Banking - Dashboard
    description: Flexible tenant dashboard analytics and widget query endpoints.
  - name: Audit - Connector Logs
    description: Customer-visible bank connector request/response audit trail.
  - name: Payments - Orchestration
    description: Tenant Virtual POS, rate plan and payment intent orchestration.
paths:
  /payments/virtual-poses/{posId}/rate-plans:
    parameters:
      - $ref: '#/components/parameters/XCompanyIdRequired'
      - name: posId
        in: path
        required: true
        schema:
          type: string
    post:
      tags:
        - Payments - Orchestration
      summary: Create a draft rate plan
      operationId: createVirtualPosRatePlan
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - rows
              properties:
                rows:
                  type: array
                  items:
                    type: object
      responses:
        '200':
          $ref: '#/components/responses/ItemResponse'
      security:
        - bearerAuth: []
components:
  parameters:
    XCompanyIdRequired:
      name: x-company-id
      in: header
      required: true
      schema:
        type: string
      description: Target tenant company id for a write operation.
  responses:
    ItemResponse:
      description: Single entity response
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: boolean
              result:
                type: object
                additionalProperties: true
          example:
            status: true
            result:
              id: 64f000000000000000000001
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

## Related topics

- [Update draft rate rows](/api-reference/payments--orchestration/update-draft-rate-rows.md)
- [Sanal POS kurulumu](/rehberler/odemeler/sanal-pos-kurulumu.md)
- [List rate plan versions](/api-reference/payments--orchestration/list-rate-plan-versions.md)
- [Publish and atomically activate a rate plan](/api-reference/payments--orchestration/publish-and-atomically-activate-a-rate-plan.md)
- [Oran planları ve fiyatlama](/rehberler/odemeler/oran-planlari.md)
