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

# Create Bulk Plans

> Create multiple subscription plans under your integration.

### Required Fields in CSV File

| Field               | Type     | Description                                                                                                                   |
| ------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `title`             | string   | Name/Title of plan                                                                                                            |
| `frequency`         | string   | This simply means how often. Valid frequencies are: daily, weekly, monthly, quarterly, biannually (every 6 months), annually. |
| `amount`            | interger | Amount should be in the subunit of our supported currency i.e your local currency or USD.                                     |
| `currency`          | string   | Currency code (e.g., NGN, USD).                                                                                               |
| `internalReference` | string   | A unique reference number generated by your company to identify each customer.                                                |
| `pricingOptions`    | string   | Specify one or more amount or currency for your payment plan.                                                                 |


## OpenAPI

````yaml openapi.json POST /bulk-plans
openapi: 3.1.0
info:
  title: Spotflow
  description: ''
  license:
    name: MIT
  version: 1.0.0
servers:
  - description: Production server
    url: https://api.spotflow.co/api/v1
security:
  - bearerAuth: []
paths:
  /bulk-plans:
    post:
      description: Create multiple subscription plans under your integration.
      operationId: CreateBulkSubscriptionPlans
      parameters: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: >-
                    CSV file containing bulk subscription data. Must be a .csv
                    file.
                skipErrors:
                  type: boolean
                  description: >-
                    The unique identifier of the plan whose subscriptions are to
                    be retrieved.
                  enum:
                    - true
                    - false
              required:
                - file
            encoding:
              file:
                contentType: text/csv
      responses:
        '200':
          description: A JSON array of subscription objects.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Not Found - No subscriptions found for the given plan ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized - Invalid or missing authentication token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionError401'
components:
  schemas:
    Error400:
      type: object
      properties:
        error:
          type: string
          example: Missing Parameter
        message:
          type: string
          example: missing_parameter
        status:
          type: integer
          format: float
          example: 400
    SubscriptionError401:
      type: object
      properties:
        code:
          type: string
          example: AUTH_ERROR
        message:
          type: string
          example: Authorization token is required.
        statusCode:
          type: integer
          format: float
          example: 401
        requestMarker:
          type: string
          format: uuid
      required:
        - status
        - statusCode
        - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````