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

# Create subscription



## OpenAPI

````yaml /openAPI.json post /api/v2/subscriptions
openapi: 3.0.2
info:
  title: Laravel
  version: 2.0.0
servers:
  - url: https://rcur.app
security:
  - '': []
tags:
  - name: Customers
  - name: Payment Links
  - name: Subscriptions
  - name: Follow-ups
  - name: Orders
  - name: Payments
  - name: Mandates
  - name: Products
  - name: Organization
paths:
  /api/v2/subscriptions:
    post:
      tags:
        - Subscriptions
      summary: Create subscription
      requestBody:
        description: Subscription data
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - customer_id
                - mollie_profile_id
                - mollie_mandate_id
                - start_date
                - rules
              properties:
                name:
                  description: Subscription name
                  type: string
                  example: Monthly Premium
                customer_id:
                  description: Customer hash ID
                  type: string
                  example: abc123def456
                mollie_profile_id:
                  description: Mollie profile ID
                  type: string
                  example: pfl_abc123
                mollie_mandate_id:
                  description: Mollie mandate ID
                  type: string
                  example: mdt_abc123
                start_date:
                  description: Start date (Y-m-d)
                  type: string
                  example: '2025-02-01'
                workflow_id:
                  description: Invoice workflow ID (required for Moneybird)
                  type: string
                  example: wf_123
                docstyle_id:
                  description: Document style ID (required for Moneybird)
                  type: string
                  example: ds_123
                rules:
                  description: Subscription rules
                  type: array
                  items:
                    type: object
                    properties:
                      amount:
                        description: Amount per interval
                        type: number
                        example: 29.99
                      interval:
                        description: Interval type
                        enum:
                          - day
                          - week
                          - month
                          - year
                        type: string
                        example: month
                      interval_amount:
                        description: Number of intervals
                        type: integer
                        example: 1
                      day:
                        description: Day of interval (0-365)
                        type: integer
                        example: 1
                      times:
                        description: Number of times (null = infinite)
                        type: integer
                        example: 12
                      invoice_rules:
                        description: Invoice rules (when invoicing is enabled)
                        type: array
                        items:
                          type: object
                          properties:
                            quantity:
                              type: integer
                              example: 1
                            description:
                              type: string
                              example: Monthly subscription fee
                            amount:
                              type: number
                              example: 29.99
                            vat:
                              type: string
                              example: '21'
                            ledger_account_id:
                              type: string
                              example: la_123
        required: true
      responses:
        '200':
          description: Subscription details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          $ref: '#/components/responses/'
components:
  schemas:
    Subscription:
      type: object
      required:
        - id
        - name
        - status
        - start_date
        - created_at
      properties:
        id:
          type: string
          example: sub_abc123
        name:
          type: string
          example: Monthly Premium
        status:
          enum:
            - draft
            - active
            - paused
            - cancelled
            - completed
          type: string
          example: active
        start_date:
          type: string
          example: '2025-01-01'
        mollie_mandate_id:
          type: string
          example: mdt_abc123
        mollie_profile_id:
          type: string
          example: pfl_abc123
        next_payment_at:
          type: string
          nullable: true
          example: '2025-02-01'
        next_amount:
          type: string
          nullable: true
          example: '29.99'
        last_payment_created_at:
          type: string
          nullable: true
          example: '2025-01-01 10:00:00'
        resume_at:
          type: string
          nullable: true
          example: '2025-03-01'
        cancel_at:
          type: string
          nullable: true
          example: '2025-12-31'
        created_at:
          type: string
          example: '2025-01-01 10:00:00'
        rules:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionRule'
        customer:
          type: object
          additionalProperties:
            type: string
    Error:
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: integer
          example: 404
        error:
          type: string
          example: Resource not found
    SubscriptionRule:
      type: object
      required:
        - id
        - amount
        - currency
        - interval
        - interval_amount
        - day
        - times_done
      properties:
        id:
          type: string
          example: rule_abc123
        amount:
          type: string
          example: '29.99'
        currency:
          enum:
            - EUR
          type: string
          example: EUR
        interval:
          enum:
            - day
            - week
            - month
            - year
          type: string
          example: month
        interval_amount:
          type: integer
          example: 1
        day:
          type: integer
          example: 1
        times:
          type: integer
          nullable: true
          example: 12
        times_done:
          type: integer
          example: 3

````