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

# Create a new ruleset

> Creates a new ruleset with its rules, PDF document, and default timetable. The markdown content is automatically converted to PDF and stored in cloud storage. Requires rules.rule_sets.creator permission.



## OpenAPI

````yaml api-reference/rules.yaml post /rulesets/create
openapi: 3.0.3
info:
  title: rules
  description: >-
    The Rules service stores all the official arbitration rulesets and their
    default timetables in one place. It makes these rules easy for other parts
    of the platform to access so everyone stays on the same page.
  version: 1.0.0
servers:
  - url: https://rules.platform.arb.inc
security: []
tags:
  - name: /
  - name: list
  - name: markdown
  - name: pdf
  - name: phases
  - name: rulesets
paths:
  /rulesets/create:
    post:
      tags:
        - rulesets
      summary: Create a new ruleset
      description: >-
        Creates a new ruleset with its rules, PDF document, and default
        timetable. The markdown content is automatically converted to PDF and
        stored in cloud storage. Requires rules.rule_sets.creator permission.
      operationId: createRuleset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - id
                - title
                - description
                - markdown
                - timetable
              properties:
                id:
                  type: string
                  description: Unique identifier for the ruleset
                  minLength: 1
                  maxLength: 50
                  example: aaa-commercial-2023
                title:
                  type: string
                  description: Human-readable title of the ruleset
                  minLength: 1
                  maxLength: 100
                  example: AAA Commercial Arbitration Rules 2023
                description:
                  type: string
                  description: Brief description of the ruleset
                  minLength: 1
                  maxLength: 250
                  example: Comprehensive rules for commercial arbitration disputes
                markdown:
                  type: string
                  description: Full text of the rules in markdown format
                  minLength: 1
                  maxLength: 20000
                  example: |-
                    # AAA Commercial Arbitration Rules

                    ## Rule 1: Scope of Rules

                    ...
                isActive:
                  type: boolean
                  description: Whether the ruleset should be marked as active
                  example: false
                timetable:
                  type: object
                  description: Default timetable configuration for cases using this ruleset
                  required:
                    - phases
                  properties:
                    phases:
                      type: array
                      description: Ordered list of phases the case will proceed through
                      items:
                        type: object
                        required:
                          - id
                          - maxDurationInSeconds
                        properties:
                          id:
                            type: string
                            description: Unique identifier for the phase
                            minLength: 1
                            maxLength: 50
                            example: filing
                          maxDurationInSeconds:
                            type: integer
                            description: Maximum duration in seconds for this phase
                            minimum: 1
                            maximum: 2147483647
                            example: 2592000
                          documents:
                            type: array
                            description: Documents allowed in this phase
                            items:
                              type: object
                              required:
                                - id
                                - filedBy
                                - maxAllowed
                              properties:
                                id:
                                  type: string
                                  description: Document type identifier
                                  minLength: 1
                                  maxLength: 50
                                  example: statement-of-claim
                                filedBy:
                                  type: string
                                  description: Party ID allowed to file this document
                                  minLength: 1
                                  maxLength: 50
                                  example: claimant
                                approvedBy:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Party ID that must approve, or null if no
                                    approval required
                                  minLength: 1
                                  maxLength: 50
                                  example: null
                                maxAllowed:
                                  type: integer
                                  description: Maximum number of this document type allowed
                                  minimum: 1
                                  example: 1
                                required:
                                  type: boolean
                                  description: Whether filing this document is mandatory
                                  example: true
                                recommended:
                                  type: boolean
                                  description: Whether this document is strongly encouraged
                                  example: false
                          allowEvidenceSubmission:
                            type: boolean
                            description: >-
                              Whether parties can submit evidence during this
                              phase
                            example: true
                          autoAdvance:
                            type: boolean
                            description: >-
                              Whether the phase automatically advances when
                              requirements are met
                            example: false
      responses:
        '200':
          description: Ruleset created successfully
          content:
            text/plain:
              schema:
                type: string
                example: ruleset successfully created, don't forget to activate it
        '404':
          description: Ruleset not found
          content:
            text/plain:
              schema:
                type: string
                example: ruleset not found
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      description: access token
      scheme: bearer
      bearerFormat: JWT

````