swagger: '2.0'
info:
  title: StoryPRO API (params in:body)
  description: |-

    <p>StoryPRO API documentation</p>
    &copy; 2023 StoryPRO
  version: '1.2'
  x-copyright: '&copy; 2023 StoryPRO'
# basePath: /api/v1
consumes:
  - application/json
paths:
  /articles/{id}:
    get:
      tags:
        - articles
      consumes:
        - application/json
      operationId: get_articles_id
      summary: Retrieves an existing article.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                default: 1
                description: The ID of the entry
              type:
                type: string
                enum:
                  - article
                  - video
                  - discussion
                  - promotion
                description: The type of entry
              name:
                type: string
                default: My entry
                description: The name of the entry
              slug:
                type: string
                default: my-entry
                description: The slug of the entry
              description:
                type: string
                default: My entry description
                description: The description of the entry
              user_id:
                type: number
                default: 1
                description: The ID of the user associated with the entry
              user:
                type: object
                properties:
                  username:
                    type: string
                    default: My user
                    description: The username of the user
                  slug:
                    type: string
                    default: my-user
                    description: The slug of the user
                  email:
                    type: string
                    default: my@user.com
                    description: The email of the user
                additionalProperties: false
              category_id:
                type: number
                default: 1
                description: The ID of the category associated with the entry
              category:
                type: object
                properties:
                  name:
                    type: string
                    default: My category
                    description: The name of the category
                  color:
                    type: string
                    default: Black
                    description: The name of the color associated with the category
                  color_id:
                    type: string
                    default: 1
                    description: The color of the category
                additionalProperties: false
              published:
                type: string
                default: '2003-01-04'
                description: The published date of the entry
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the entry
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the entry
              walled:
                type: boolean
                description: Whether the entry is walled or not
              tags:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the tag
                    name:
                      type: string
                      default: My Tag
                      description: The name of the tag
                    promotion_only:
                      type: boolean
                      description: Whether the tag is only for promotions or not
                    created_at:
                      type: string
                      default: '2023-04-23T18:01:41.883Z'
                      description: The creation date of the tag
                    updated_at:
                      type: string
                      default: '2023-04-23T18:01:41.219Z'
                      description: The last update date of the tag
                  additionalProperties: false
              fields:
                type: object
                additionalProperties: true
                description: Additional fields relating to the entry.
              areas:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the area
                    type:
                      type: string
                      default: content
                      description: The type of area
                    elements:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                            default: 1
                            description: The ID of the element
                          element:
                            type: string
                            default: elements_blockquote
                            description: The name of the element
                          position:
                            type: number
                            default: 1
                            description: The position of the element
                          created_at:
                            type: string
                            default: '2023-04-23T18:01:41.883Z'
                            description: The creation date of the element
                          updated_at:
                            type: string
                            default: '2023-04-23T18:01:41.219Z'
                            description: The last update date of the element
                          fields:
                            type: object
                            additionalProperties: true
                            description: Additional fields relating to the element.
                        additionalProperties: false
                  additionalProperties: false
                  required:
                    - elements
            additionalProperties: false
            required:
              - tags
              - areas
      description: This endpoint is used to retrieve an existing article.
    patch:
      tags:
        - articles
      consumes:
        - application/json
      operationId: patch_articles_id
      summary: Updates an existing article.
      parameters:
        - name: id
          type: number
          in: path
          required: true
        - name: body
          in: body
          schema:
            type: object
            properties:
              article:
                type: object
                properties:
                  description:
                    type: string
                    default: Entry Description
                    description: Description of the entry
                  landscape_image:
                    type: string
                    default: https://ucarecdn.com/.../
                    description: Landscape version of the featured image. Formatted for 2048x1024 resolution
                  card_image:
                    type: string
                    default: https://ucarecdn.com/.../
                    description: Card version of the featured image. Formatted for 1100x900 resolution
                  image_alt:
                    type: string
                    default: Horse eating a carrot
                    description: The description of the featured image for visually impaired.
                additionalProperties: false
              tags:
                type: array
                items:
                  type: string
                default:
                  - 1
                  - 2
                description: The array of tag ids (Integers) associated with the article
            additionalProperties: false
            required:
              - article
      responses:
        '200':
          description: Returns the ID of a new article
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the updated article
            additionalProperties: false
      description: 
            This endpoint is used to update an existing article.

            - Fields `description`, `landscape_image`, `card_image` and `image_alt` are required unless specified during the creation of the article.

            - Additional fields, such as `filter` can be passed by adding them as a parameter to the article hash.

            - See `/articles/new` endpoint for a list of all available fields.
    delete:
      tags:
        - articles
      consumes:
        - application/json
      operationId: delete_articles_id
      summary: Deletes an existing article.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: Transaction status
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: Returns true if the transaction was successful
            additionalProperties: false
      description: This endpoint is used to delete an existing article.
  /articles/new:
    get:
      tags:
        - articles
      consumes:
        - application/json
      operationId: get_articles_new
      summary: Retrieves a set of fields to create a new article.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              component:
                type: string
                description: The name of the component
              user_id:
                type: number
                description: User ID is returned as nil
              category_id:
                type: number
                description: Category ID is returned as nil
              fields:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the field
                    type:
                      type: string
                      description: The type of the field
                    label:
                      type: string
                      description: The label of the field
                    hint:
                      type: string
                      description: The hint associated with the field
                    options:
                      type: object
                      additionalProperties: true
                      description: The options of the field
                    required:
                      type: boolean
                      description: The required status of the field
                  additionalProperties: false
            additionalProperties: false
            required:
              - fields
      description: This endpoint is used to retrieve a set of fields to create a new article.
  /articles:
    post:
      tags:
        - articles
      consumes:
        - application/json
      operationId: post_articles
      summary: Creates a new article.
      parameters:
        - name: body
          in: body
          schema:
            type: object
            properties:
              article:
                type: object
                properties:
                  name:
                    type: string
                    default: New Entry
                    description: The name of the entry
                  user_id:
                    type: number
                    default: 1
                    description: The User ID of the author
                  category_id:
                    type: number
                    default: 1
                    description: The Category ID of the entry
                additionalProperties: false
                required:
                  - name
                  - user_id
                  - category_id
            additionalProperties: false
            required:
              - article
      responses:
        '200':
          description: Returns the ID of a new article
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the created article
            additionalProperties: false
      description: 
            This endpoint is used to create a new article.

            - At minimum the fields `name`, `user_id` and `category_id` are required.

            - Additional fields, such as `description`, can be passed by adding them as a parameter to the article hash.

            - See `articles/new` endpoint for a list of all available fields.
  /entries:
    get:
      tags:
        - entries
      consumes:
        - application/json
      operationId: get_entries
      summary: Retrieve entry details.
      parameters:
        - name: kind
          type: string
          enum:
            - article
            - video
            - discussion
            - promotion
          in: query
          description: Allows you to filter the kind of entries you are going to retrieve
        - name: status
          type: string
          enum:
            - all
            - published
            - unpublished
            - scheduled
          in: query
          default: all
          description: Allows you to filter off the entries' published status
      responses:
        '200':
          description: Returns an array of entries
          schema:
            type: array
            items:
              $ref: '#/definitions/entry'
      description: Retrieves an array of entries, along with their categories, tags and published status.
  /categories:
    get:
      tags:
        - categories
      consumes:
        - application/json
      operationId: get_categories
      summary: Retrieves a list of categories.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the category
              name:
                type: string
                description: The name of the category
              slug:
                type: string
                description: The slug of the category
              color_id:
                type: number
                description: The ID of the color associated with the category
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the category
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the category
            additionalProperties: false
            required:
              - id
              - name
              - slug
              - color_id
      description: ''
    post:
      tags:
        - categories
      consumes:
        - application/json
      operationId: post_categories
      summary: Creates a new category.
      parameters:
        - name: body
          in: body
          schema:
            type: object
            properties:
              category:
                type: object
                properties:
                  name:
                    type: string
                    default: New Category
                    description: The name of the category
                  color_id:
                    type: number
                    default: 1
                    description: The ID of the color associated with the category
                additionalProperties: false
            additionalProperties: false
            required:
              - category
      responses:
        '200':
          description: Returns the ID of a new category
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of created category
            additionalProperties: false
      description: 
            This endpoint is used to create a new category.

            - At minimum the fields `name` and `color_id` are required.

            - Additional fields can be passed by adding them as a parameter to the category hash.

            - See `/categories/new` endpoint for a list of all available fields.

            - See `/colors/` endpoint for a list of all available colors.
  /categories/{id}:
    get:
      tags:
        - categories
      consumes:
        - application/json
      operationId: get_categories_id
      summary: Retrieves an existing category.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the category
              name:
                type: string
                description: The name of the category
              slug:
                type: string
                description: The slug of the category
              color_id:
                type: number
                description: The ID of the color associated with the category
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the category
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the category
            additionalProperties: false
            required:
              - id
              - name
              - slug
              - color_id
      description: This endpoint is used to retrieve an existing category.
    patch:
      tags:
        - categories
      consumes:
        - application/json
      operationId: patch_categories_id
      summary: Updates an existing category.
      parameters:
        - name: id
          type: number
          in: path
          required: true
        - name: body
          in: body
          schema:
            type: object
            properties:
              category:
                type: object
                properties:
                  name:
                    type: string
                    default: New Category
                    description: The name of the category
                  color_id:
                    type: number
                    default: 1
                    description: The ID of the color associated with the category
                additionalProperties: false
            additionalProperties: false
            required:
              - category
      responses:
        '200':
          description: Returns the ID of a new category
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the updated category
            additionalProperties: false
      description: 
            This endpoint is used to update an existing category.

            - Additional fields can be passed by adding them as a parameter to the category hash.

            - See `categories/new` endpoint for a list of all available fields.

            - See `/colors/` endpoint for a list of all available colors.
    delete:
      tags:
        - categories
      consumes:
        - application/json
      operationId: delete_categories_id
      summary: Deletes an existing category.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: Transaction status
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: Returns true if the transaction was successful
            additionalProperties: false
      description: This endpoint is used to delete an existing category.
  /categories/new:
    get:
      tags:
        - categories
      consumes:
        - application/json
      operationId: get_categories_new
      summary: Retrieves a set of fields to create a new category.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              component:
                type: string
                description: The name of the component
              fields:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the field
                    type:
                      type: string
                      description: The type of the field
                    label:
                      type: string
                      description: The label of the field
                    hint:
                      type: string
                      description: The hint associated with the field
                    options:
                      type: object
                      additionalProperties: true
                      description: The options of the field
                    required:
                      type: boolean
                      description: The required status of the field
                  additionalProperties: false
            additionalProperties: false
            required:
              - fields
      description: This endpoint is used to retrieve a set of fields to create a new category.
  /colors:
    get:
      tags:
        - colors
      consumes:
        - application/json
      operationId: get_colors
      summary: Retrieves color names along with their IDs.
      parameters: []
      responses:
        '200':
          description: Returns an array of colors
          schema:
            type: array
            items:
              $ref: '#/definitions/color'
      description: Retrieves a list of colors names and their IDs.
  /discussions/{id}:
    get:
      tags:
        - discussions
      consumes:
        - application/json
      operationId: get_discussions_id
      summary: Retrieves an existing discussion.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                default: 1
                description: The ID of the entry
              type:
                type: string
                enum:
                  - article
                  - video
                  - discussion
                  - promotion
                description: The type of entry
              name:
                type: string
                default: My entry
                description: The name of the entry
              slug:
                type: string
                default: my-entry
                description: The slug of the entry
              description:
                type: string
                default: My entry description
                description: The description of the entry
              user_id:
                type: number
                default: 1
                description: The ID of the user associated with the entry
              user:
                type: object
                properties:
                  username:
                    type: string
                    default: My user
                    description: The username of the user
                  slug:
                    type: string
                    default: my-user
                    description: The slug of the user
                  email:
                    type: string
                    default: my@user.com
                    description: The email of the user
                additionalProperties: false
              category_id:
                type: number
                default: 1
                description: The ID of the category associated with the entry
              category:
                type: object
                properties:
                  name:
                    type: string
                    default: My category
                    description: The name of the category
                  color:
                    type: string
                    default: Black
                    description: The name of the color associated with the category
                  color_id:
                    type: string
                    default: 1
                    description: The color of the category
                additionalProperties: false
              published:
                type: string
                default: '2003-01-04'
                description: The published date of the entry
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the entry
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the entry
              walled:
                type: boolean
                description: Whether the entry is walled or not
              tags:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the tag
                    name:
                      type: string
                      default: My Tag
                      description: The name of the tag
                    promotion_only:
                      type: boolean
                      description: Whether the tag is only for promotions or not
                    created_at:
                      type: string
                      default: '2023-04-23T18:01:41.883Z'
                      description: The creation date of the tag
                    updated_at:
                      type: string
                      default: '2023-04-23T18:01:41.219Z'
                      description: The last update date of the tag
                  additionalProperties: false
              fields:
                type: object
                additionalProperties: true
                description: Additional fields relating to the entry.
              areas:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the area
                    type:
                      type: string
                      default: content
                      description: The type of area
                    elements:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                            default: 1
                            description: The ID of the element
                          element:
                            type: string
                            default: elements_blockquote
                            description: The name of the element
                          position:
                            type: number
                            default: 1
                            description: The position of the element
                          created_at:
                            type: string
                            default: '2023-04-23T18:01:41.883Z'
                            description: The creation date of the element
                          updated_at:
                            type: string
                            default: '2023-04-23T18:01:41.219Z'
                            description: The last update date of the element
                          fields:
                            type: object
                            additionalProperties: true
                            description: Additional fields relating to the element.
                        additionalProperties: false
                  additionalProperties: false
                  required:
                    - elements
            additionalProperties: false
            required:
              - tags
              - areas
      description: This endpoint is used to retrieve an existing discussion.
    patch:
      tags:
        - discussions
      consumes:
        - application/json
      operationId: patch_discussions_id
      summary: Updates an existing discussion.
      parameters:
        - name: id
          type: number
          in: path
          required: true
        - name: body
          in: body
          schema:
            type: object
            properties:
              discussion:
                type: object
                properties:
                  description:
                    type: string
                    default: Discussion Description
                    description: Description of the discussion
                additionalProperties: false
              tags:
                type: array
                items:
                  type: string
                default:
                  - 1
                  - 2
                description: The array of tag ids (Integers) associated with the discussion
            additionalProperties: false
            required:
              - discussion
      responses:
        '200':
          description: Returns the ID of a new discussion
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the updated discussion
            additionalProperties: false
      description: 
            This endpoint is used to update an existing discussion.

            - Field `description` is required unless specified during the creation of the discussion.

            - Additional fields, such as `social_image` can be passed by adding them as a parameter to the discussion hash.

            - See `discussions/new` endpoint for a list of all available fields.
    delete:
      tags:
        - discussions
      consumes:
        - application/json
      operationId: delete_discussions_id
      summary: Deletes an existing discussion.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: Transaction status
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: Returns true if the transaction was successful
            additionalProperties: false
      description: This endpoint is used to delete an existing discussion.
  /discussions/new:
    get:
      tags:
        - discussions
      consumes:
        - application/json
      operationId: get_discussions_new
      summary: Retrieves a set of fields to create a new discussion.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              component:
                type: string
                description: The name of the component
              user_id:
                type: number
                description: User ID is returned as nil
              category_id:
                type: number
                description: Category ID is returned as nil
              fields:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the field
                    type:
                      type: string
                      description: The type of the field
                    label:
                      type: string
                      description: The label of the field
                    hint:
                      type: string
                      description: The hint associated with the field
                    options:
                      type: object
                      additionalProperties: true
                      description: The options of the field
                    required:
                      type: boolean
                      description: The required status of the field
                  additionalProperties: false
            additionalProperties: false
            required:
              - fields
      description: This endpoint is used to retrieve a set of fields to create a new discussion.
  /discussions:
    post:
      tags:
        - discussions
      consumes:
        - application/json
      operationId: post_discussions
      summary: Creates a new discussion.
      parameters:
        - name: body
          in: body
          schema:
            type: object
            properties:
              discussion:
                type: object
                properties:
                  name:
                    type: string
                    default: New Entry
                    description: The name of the entry
                  user_id:
                    type: number
                    default: 1
                    description: The User ID of the author
                  category_id:
                    type: number
                    default: 1
                    description: The Category ID of the entry
                additionalProperties: false
                required:
                  - name
                  - user_id
                  - category_id
            additionalProperties: false
            required:
              - discussion
      responses:
        '200':
          description: Returns the ID of a new discussion
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the created discussion
            additionalProperties: false
      description: 
            This endpoint is used to create a new discussion.

            - At minimum the fields `name`, `user_id` and `category_id` are required.

            - Additional fields, such as `description` can be passed by adding them as a parameter to the discussion hash.

            - See `discussions/new` endpoint for a list of all available fields.
  /elements:
    get:
      tags:
        - elements
      consumes:
        - application/json
      operationId: get_elements
      summary: Returns a list of all elements.
      parameters:
        - name: type
          type: string
          in: query
          default: elements_blockquote
          description: The type of the element to filter by
      responses:
        '200':
          description: Returns an array of elements.
          schema:
            type: array
            items:
              $ref: '#/definitions/element'
      description: ''
  /elements/distinct:
    get:
      tags:
        - elements
      consumes:
        - application/json
      operationId: get_elements_distinct
      summary: Returns an array of distinct elements.
      parameters: []
      responses:
        '200':
          description: Returns an array of distinct elements and their fields.
          schema:
            type: array
            items:
              $ref: '#/definitions/distinct_element'
      description: ''
  /elements/add:
    post:
      tags:
        - elements
      consumes:
        - application/json
      operationId: post_elements_add
      summary: Adds an element to an area of an entry.
      parameters:
        - name: body
          in: body
          schema:
            type: object
            properties:
              element:
                type: string
                default: elements_blockquote
                description: The name of element to add. Dont forget the `elements`_ prefix
              parent_id:
                type: number
                default: 1
                description: Parent ID of the component the element is attached to.
              parent_component:
                type: string
                enum:
                  - articles
                  - videos
                  - discussions
                  - promotions
                  - site_settings_theme_css
                  - site_settings_theme_homepage
                default: articles
                description: Parent component the element is attached to.
              area:
                type: string
                enum:
                  - header
                  - content
                  - reference
                  - homepage
                  - page
                  - fullscreen
                  - regular
                  - featured
                description: The area of the element.
            additionalProperties: false
            required:
              - element
              - parent_id
              - parent_component
              - area
      responses:
        '200':
          description: Returns the ID of a new element
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the created element
            additionalProperties: false
      description: 
            this endpoint is used to create a new element.

            - See `elements/distinct` endpoint for a list of all available elements.

            - The elements must be created and attached to an `AREA` of a `PARENT COMPONENT`, BEFORE it can be edited.

            - The `PARENT ID` is the ID of the entry the element is attached to.

            - Areas `header`, `content` and `reference` are available for `articles`, `videos`, `discussions` and `promotions` parent component.

            - Area `homepage` is available for `site_settings_theme_homepage` parent component.

            - Areas `page`, `fullscreen`, `regular` and `featured` are available for `site_settings_theme_css` parent component.
  /elements/{id}:
    patch:
      tags:
        - elements
      consumes:
        - application/json
      operationId: patch_elements_id
      summary: Updates an existing element.
      parameters:
        - name: id
          type: number
          in: path
          required: true
        - name: body
          in: body
          schema:
            type: object
            properties:
              element_blockquote:
                type: object
                properties:
                  author:
                    type: object
                    additionalProperties: true
                    default: John Cena
                    description: The field object to be updated
                additionalProperties: false
            additionalProperties: false
      responses:
        '200':
          description: Returns the ID of updated element
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of updated element
            additionalProperties: false
      description: +
            This endpoint is used to update an existing element.

            - The request must be wrapped in an element object such `elements_blockquote` representing the element to be updated.

            - Fields such  `author` must be nested inside the wrapper object.

            - See `elements/distinct` endpoint for a list of all available elements and their fields.

    delete:
      tags:
        - elements
      consumes:
        - application/json
      operationId: delete_elements_id
      summary: Deletes an existing article.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: Transaction status
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: Returns true if the transaction was successful
            additionalProperties: false
      description: This endpoint is used to delete an existing article.
  /promotions/{id}:
    get:
      tags:
        - promotions
      consumes:
        - application/json
      operationId: get_promotions_id
      summary: Retrieves an existing promotion.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                default: 1
                description: The ID of the entry
              type:
                type: string
                enum:
                  - article
                  - video
                  - discussion
                  - promotion
                description: The type of entry
              name:
                type: string
                default: My entry
                description: The name of the entry
              slug:
                type: string
                default: my-entry
                description: The slug of the entry
              description:
                type: string
                default: My entry description
                description: The description of the entry
              user_id:
                type: number
                default: 1
                description: The ID of the user associated with the entry
              user:
                type: object
                properties:
                  username:
                    type: string
                    default: My user
                    description: The username of the user
                  slug:
                    type: string
                    default: my-user
                    description: The slug of the user
                  email:
                    type: string
                    default: my@user.com
                    description: The email of the user
                additionalProperties: false
              category_id:
                type: number
                default: 1
                description: The ID of the category associated with the entry
              category:
                type: object
                properties:
                  name:
                    type: string
                    default: My category
                    description: The name of the category
                  color:
                    type: string
                    default: Black
                    description: The name of the color associated with the category
                  color_id:
                    type: string
                    default: 1
                    description: The color of the category
                additionalProperties: false
              published:
                type: string
                default: '2003-01-04'
                description: The published date of the entry
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the entry
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the entry
              walled:
                type: boolean
                description: Whether the entry is walled or not
              tags:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the tag
                    name:
                      type: string
                      default: My Tag
                      description: The name of the tag
                    promotion_only:
                      type: boolean
                      description: Whether the tag is only for promotions or not
                    created_at:
                      type: string
                      default: '2023-04-23T18:01:41.883Z'
                      description: The creation date of the tag
                    updated_at:
                      type: string
                      default: '2023-04-23T18:01:41.219Z'
                      description: The last update date of the tag
                  additionalProperties: false
              fields:
                type: object
                additionalProperties: true
                description: Additional fields relating to the entry.
              areas:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the area
                    type:
                      type: string
                      default: content
                      description: The type of area
                    elements:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                            default: 1
                            description: The ID of the element
                          element:
                            type: string
                            default: elements_blockquote
                            description: The name of the element
                          position:
                            type: number
                            default: 1
                            description: The position of the element
                          created_at:
                            type: string
                            default: '2023-04-23T18:01:41.883Z'
                            description: The creation date of the element
                          updated_at:
                            type: string
                            default: '2023-04-23T18:01:41.219Z'
                            description: The last update date of the element
                          fields:
                            type: object
                            additionalProperties: true
                            description: Additional fields relating to the element.
                        additionalProperties: false
                  additionalProperties: false
                  required:
                    - elements
            additionalProperties: false
            required:
              - tags
              - areas
      description: This endpoint is used to retrieve an existing promotion.
    patch:
      tags:
        - promotions
      consumes:
        - application/json
      operationId: patch_promotions_id
      summary: Updates an existing promotion.
      parameters:
        - name: id
          type: number
          in: path
          required: true
        - name: body
          in: body
          schema:
            type: object
            properties:
              promotion:
                type: object
                properties:
                  title:
                    type: string
                    default: Promotion Title
                    description: Title of the promotion
                  text:
                    type: string
                    default: Promotion Description
                    description: Body text of the promotion
                  image:
                    type: string
                    default: https://ucarecdn.com/.../
                    description: Image displayed in background of promotion. Formatted for 1111x1111 resolution
                additionalProperties: false
            additionalProperties: false
            required:
              - promotion
      responses:
        '200':
          description: Returns the ID of a new promotion
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the updated promotion
            additionalProperties: false
      description: 
            This endpoint is used to update an existing promotion.

            - `title`, `text` and `image` are  required unless specified during the creation of the promotion.

            - Additional fields, such as `new_window` can be passed by adding them as a parameter to the promotion hash.

            - See `promotions/new` endpoint for a list of all available fields.
    delete:
      tags:
        - promotions
      consumes:
        - application/json
      operationId: delete_promotions_id
      summary: Deletes an existing promotion.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: Transaction status
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: Returns true if the transaction was successful
            additionalProperties: false
      description: This endpoint is used to delete an existing promotion.
  /promotions/new:
    get:
      tags:
        - promotions
      consumes:
        - application/json
      operationId: get_promotions_new
      summary: Retrieves a set of fields to create a new promotion.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              component:
                type: string
                description: The name of the component
              user_id:
                type: number
                description: User ID is returned as nil
              category_id:
                type: number
                description: Category ID is returned as nil
              fields:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the field
                    type:
                      type: string
                      description: The type of the field
                    label:
                      type: string
                      description: The label of the field
                    hint:
                      type: string
                      description: The hint associated with the field
                    options:
                      type: object
                      additionalProperties: true
                      description: The options of the field
                    required:
                      type: boolean
                      description: The required status of the field
                  additionalProperties: false
            additionalProperties: false
            required:
              - fields
      description: This endpoint is used to retrieve a set of fields to create a new promotion.
  /promotions:
    post:
      tags:
        - promotions
      consumes:
        - application/json
      operationId: post_promotions
      summary: Creates a new promotion.
      parameters:
        - name: body
          in: body
          schema:
            type: object
            properties:
              promotion:
                type: object
                properties:
                  name:
                    type: string
                    default: My Promotion
                    description: The name of the promotion
                  url:
                    type: string
                    default: https://www.example.com
                    description: Valid URL for the promotion in with the `http://` or `https://` prefix.
                additionalProperties: false
                required:
                  - name
                  - url
              tags:
                type: array
                items:
                  type: string
                default:
                  - 1
                  - 2
                description: The array of tag ids (Integers) associated with the promotion
            additionalProperties: false
            required:
              - promotion
      responses:
        '200':
          description: Returns the ID of a new promotion
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the created promotion
            additionalProperties: false
      description: 
            This endpoint is used to create a new promotion.

            - At minimum the fields `name` and `url` are required.

            - Additional fields, such as `title` or `description`, can be passed by adding them as a parameter to the promotion hash.

            - See `/promotions/new` endpoint for a list of all available fields.
  /settings:
    get:
      tags:
        - settings
      consumes:
        - application/json
      operationId: get_settings
      summary: Retrieves individual platform settings.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              component_ids:
                type: object
                properties:
                  site_settings_theme_homepage:
                    type: number
                    default: 1
                    description: The ID of the homepage theme component
                  site_settings_theme_css:
                    type: number
                    default: 2
                    description: The ID of the css theme component
                additionalProperties: false
            additionalProperties: false
      description: Retrieves individual platform settings.
  /tags:
    get:
      tags:
        - tags
      consumes:
        - application/json
      operationId: get_tags
      summary: Retrieves a list of tags.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                default: 1
                description: The ID of the tag
              name:
                type: string
                default: My Tag
                description: The name of the tag
              promotion_only:
                type: boolean
                description: Whether the tag is only for promotions or not
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the tag
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the tag
            additionalProperties: false
      description: This endpoint is used to retrieve a list of tags.
    post:
      tags:
        - tags
      consumes:
        - application/json
      operationId: post_tags
      summary: Creates a new tag.
      parameters:
        - name: body
          in: body
          schema:
            type: object
            properties:
              tag:
                type: object
                properties:
                  name:
                    type: string
                    default: My tag
                    description: The name of the tag
                  promotion_only:
                    type: string
                    enum:
                      - true
                      - false
                      - 'true'
                      - 'false'
                    description: Set to `true` if you don't want the tag to be used for linking content.
                additionalProperties: false
                required:
                  - name
            additionalProperties: false
            required:
              - tag
      responses:
        '200':
          description: Returns the ID of a new tag
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the created tag
            additionalProperties: false
      description: 
            This endpoint is used to create a new tag.

            - At minimum the field `name` is required.

            - Additional fields, such as `promotion_only`, can be passed by adding them as a parameter to the tag hash.

            - See `/tags/new` endpoint for a list of all available fields.
  /tags/{id}:
    get:
      tags:
        - tags
      consumes:
        - application/json
      operationId: get_tags_id
      summary: Retrieves an existing tag.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                default: 1
                description: The ID of the tag
              name:
                type: string
                default: My Tag
                description: The name of the tag
              promotion_only:
                type: boolean
                description: Whether the tag is only for promotions or not
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the tag
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the tag
            additionalProperties: false
      description: This endpoint is used to retrieve an existing tag.
    patch:
      tags:
        - tags
      consumes:
        - application/json
      operationId: patch_tags_id
      summary: Updates an existing tag.
      parameters:
        - name: id
          type: number
          in: path
          required: true
        - name: body
          in: body
          schema:
            type: object
            properties:
              tag:
                type: object
                properties:
                  name:
                    type: string
                    default: My tag
                    description: The name of the tag
                  promotion_only:
                    type: string
                    enum:
                      - true
                      - false
                      - 'true'
                      - 'false'
                    description: Set to `true` if you don't want the tag to be used for linking content.
                additionalProperties: false
                required:
                  - name
            additionalProperties: false
            required:
              - tag
      responses:
        '200':
          description: Returns the ID of a new tag
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the updated tag
            additionalProperties: false
      description: 
            This endpoint is used to update an existing tag.

            - Additional fields, such as `promotion_only`, can be passed by adding them as a parameter to the tag hash.

            - See `/tags/new` endpoint for a list of all available fields.
    delete:
      tags:
        - tags
      consumes:
        - application/json
      operationId: delete_tags_id
      summary: Deletes an existing tag.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: Transaction status
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: Returns true if the transaction was successful
            additionalProperties: false
      description: This endpoint is used to delete an existing tag.
  /tags/new:
    get:
      tags:
        - tags
      consumes:
        - application/json
      operationId: get_tags_new
      summary: Retrieves a set of fields to create a new tag.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              component:
                type: string
                description: The name of the component
              fields:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the field
                    type:
                      type: string
                      description: The type of the field
                    label:
                      type: string
                      description: The label of the field
                    hint:
                      type: string
                      description: The hint associated with the field
                    options:
                      type: object
                      additionalProperties: true
                      description: The options of the field
                    required:
                      type: boolean
                      description: The required status of the field
                  additionalProperties: false
            additionalProperties: false
            required:
              - fields
      description: This endpoint is used to retrieve a set of fields to create a new tag.
  /users:
    get:
      tags:
        - users
      consumes:
        - application/json
      operationId: get_users
      summary: Retrieve user details.
      parameters:
        - name: role
          type: string
          enum:
            - admin
            - editor
            - member
            - banned
          in: query
          description: Allows you to filter the role of users you are going to retrieve
      responses:
        '200':
          description: The users
          schema:
            type: array
            items:
              $ref: '#/definitions/user'
      description: Retrieves an array of users, along with their role.
  /videos/{id}:
    get:
      tags:
        - videos
      consumes:
        - application/json
      operationId: get_videos_id
      summary: Retrieves an existing video.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
                default: 1
                description: The ID of the entry
              type:
                type: string
                enum:
                  - article
                  - video
                  - discussion
                  - promotion
                description: The type of entry
              name:
                type: string
                default: My entry
                description: The name of the entry
              slug:
                type: string
                default: my-entry
                description: The slug of the entry
              description:
                type: string
                default: My entry description
                description: The description of the entry
              user_id:
                type: number
                default: 1
                description: The ID of the user associated with the entry
              user:
                type: object
                properties:
                  username:
                    type: string
                    default: My user
                    description: The username of the user
                  slug:
                    type: string
                    default: my-user
                    description: The slug of the user
                  email:
                    type: string
                    default: my@user.com
                    description: The email of the user
                additionalProperties: false
              category_id:
                type: number
                default: 1
                description: The ID of the category associated with the entry
              category:
                type: object
                properties:
                  name:
                    type: string
                    default: My category
                    description: The name of the category
                  color:
                    type: string
                    default: Black
                    description: The name of the color associated with the category
                  color_id:
                    type: string
                    default: 1
                    description: The color of the category
                additionalProperties: false
              published:
                type: string
                default: '2003-01-04'
                description: The published date of the entry
              created_at:
                type: string
                default: '2023-04-23T18:01:41.883Z'
                description: The creation date of the entry
              updated_at:
                type: string
                default: '2023-04-23T18:01:41.219Z'
                description: The last update date of the entry
              walled:
                type: boolean
                description: Whether the entry is walled or not
              tags:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the tag
                    name:
                      type: string
                      default: My Tag
                      description: The name of the tag
                    promotion_only:
                      type: boolean
                      description: Whether the tag is only for promotions or not
                    created_at:
                      type: string
                      default: '2023-04-23T18:01:41.883Z'
                      description: The creation date of the tag
                    updated_at:
                      type: string
                      default: '2023-04-23T18:01:41.219Z'
                      description: The last update date of the tag
                  additionalProperties: false
              fields:
                type: object
                additionalProperties: true
                description: Additional fields relating to the entry.
              areas:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                      default: 1
                      description: The ID of the area
                    type:
                      type: string
                      default: content
                      description: The type of area
                    elements:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                            default: 1
                            description: The ID of the element
                          element:
                            type: string
                            default: elements_blockquote
                            description: The name of the element
                          position:
                            type: number
                            default: 1
                            description: The position of the element
                          created_at:
                            type: string
                            default: '2023-04-23T18:01:41.883Z'
                            description: The creation date of the element
                          updated_at:
                            type: string
                            default: '2023-04-23T18:01:41.219Z'
                            description: The last update date of the element
                          fields:
                            type: object
                            additionalProperties: true
                            description: Additional fields relating to the element.
                        additionalProperties: false
                  additionalProperties: false
                  required:
                    - elements
            additionalProperties: false
            required:
              - tags
              - areas
      description: This endpoint is used to retrieve an existing video.
    patch:
      tags:
        - videos
      consumes:
        - application/json
      operationId: patch_videos_id
      summary: Updates an existing video.
      parameters:
        - name: id
          type: number
          in: path
          required: true
        - name: body
          in: body
          schema:
            type: object
            properties:
              video:
                type: object
                properties:
                  description:
                    type: string
                    default: Entry Description
                    description: Description of the entry
                  landscape_image:
                    type: string
                    default: https://ucarecdn.com/.../
                    description: Landscape version of the featured image. Formatted for 2048x1024 resolution
                  card_image:
                    type: string
                    default: https://ucarecdn.com/.../
                    description: Card version of the featured image. Formatted for 1100x900 resolution
                  image_alt:
                    type: string
                    default: Horse eating a carrot
                    description: The description of the featured image for visually impaired.
                additionalProperties: false
              tags:
                type: array
                items:
                  type: string
                default:
                  - 1
                  - 2
                description: The array of tag ids (Integers) associated with the video
            additionalProperties: false
            required:
              - video
      responses:
        '200':
          description: Returns the ID of a new video
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the updated video
            additionalProperties: false
      description: 
            This endpoint is used to update an existing video.

            - Fields `description`, `landscape_image`, `card_image` and `image_alt` are required unless specified during the creation of the video.

            - Additional fields, such as `filter` can be passed by adding them as a parameter to the video hash.

            - See `videos/new` endpoint for a list of all available fields.
    delete:
      tags:
        - videos
      consumes:
        - application/json
      operationId: delete_videos_id
      summary: Deletes an existing video.
      parameters:
        - name: id
          type: number
          in: path
          required: true
      responses:
        '200':
          description: Transaction status
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: Returns true if the transaction was successful
            additionalProperties: false
      description: This endpoint is used to delete an existing video.
  /videos/new:
    get:
      tags:
        - videos
      consumes:
        - application/json
      operationId: get_videos_new
      summary: Retrieves a set of fields to create a new video.
      parameters: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              component:
                type: string
                description: The name of the component
              user_id:
                type: number
                description: User ID is returned as nil
              category_id:
                type: number
                description: Category ID is returned as nil
              fields:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the field
                    type:
                      type: string
                      description: The type of the field
                    label:
                      type: string
                      description: The label of the field
                    hint:
                      type: string
                      description: The hint associated with the field
                    options:
                      type: object
                      additionalProperties: true
                      description: The options of the field
                    required:
                      type: boolean
                      description: The required status of the field
                  additionalProperties: false
            additionalProperties: false
            required:
              - fields
      description: This endpoint is used to retrieve a set of fields to create a new video.
  /videos:
    post:
      tags:
        - videos
      consumes:
        - application/json
      operationId: post_videos
      summary: Creates a new video.
      parameters:
        - name: body
          in: body
          schema:
            type: object
            properties:
              video:
                type: object
                properties:
                  name:
                    type: string
                    default: New Entry
                    description: The name of the entry
                  user_id:
                    type: number
                    default: 1
                    description: The User ID of the author
                  category_id:
                    type: number
                    default: 1
                    description: The Category ID of the entry
                additionalProperties: false
                required:
                  - name
                  - user_id
                  - category_id
            additionalProperties: false
            required:
              - video
      responses:
        '200':
          description: Returns the ID of a new video
          schema:
            type: object
            properties:
              id:
                type: number
                description: The ID of the created video
            additionalProperties: false
      description: 
            This endpoint is used to create a new video.

            - At minimum the fields `name`, `user_id` and `category_id` are required.

            - Additional fields, such as `description` can be passed by adding them as a parameter to the video hash.

            - See `/videos/new` endpoint for a list of all available fields.
definitions:
  entry:
    type: object
    properties:
      id:
        type: number
        default: 1
        description: The ID of the entry
      type:
        type: string
        enum:
          - article
          - video
          - discussion
          - promotion
        description: The type of entry
      name:
        type: string
        default: My entry
        description: The name of the entry
      slug:
        type: string
        default: my-entry
        description: The slug of the entry
      description:
        type: string
        default: My entry description
        description: The description of the entry
      user_id:
        type: number
        default: 1
        description: The ID of the user associated with the entry
      user:
        type: object
        properties:
          username:
            type: string
            default: My user
            description: The username of the user
          slug:
            type: string
            default: my-user
            description: The slug of the user
          email:
            type: string
            default: my@user.com
            description: The email of the user
        additionalProperties: false
      category_id:
        type: number
        default: 1
        description: The ID of the category associated with the entry
      category:
        type: object
        properties:
          name:
            type: string
            default: My category
            description: The name of the category
          color:
            type: string
            default: Black
            description: The name of the color associated with the category
          color_id:
            type: string
            default: 1
            description: The color of the category
        additionalProperties: false
      published:
        type: string
        default: '2003-01-04'
        description: The published date of the entry
      created_at:
        type: string
        default: '2023-04-23T18:01:41.883Z'
        description: The creation date of the entry
      updated_at:
        type: string
        default: '2023-04-23T18:01:41.219Z'
        description: The last update date of the entry
      walled:
        type: boolean
        description: Whether the entry is walled or not
      tags:
        type: array
        items:
          type: object
          properties:
            id:
              type: number
              default: 1
              description: The ID of the tag
            name:
              type: string
              default: My Tag
              description: The name of the tag
            promotion_only:
              type: boolean
              description: Whether the tag is only for promotions or not
            created_at:
              type: string
              default: '2023-04-23T18:01:41.883Z'
              description: The creation date of the tag
            updated_at:
              type: string
              default: '2023-04-23T18:01:41.219Z'
              description: The last update date of the tag
          additionalProperties: false
      fields:
        type: object
        additionalProperties: true
        description: Additional fields relating to the entry.
      areas:
        type: array
        items:
          type: object
          properties:
            id:
              type: number
              default: 1
              description: The ID of the area
            type:
              type: string
              default: content
              description: The type of area
            elements:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: number
                    default: 1
                    description: The ID of the element
                  element:
                    type: string
                    default: elements_blockquote
                    description: The name of the element
                  position:
                    type: number
                    default: 1
                    description: The position of the element
                  created_at:
                    type: string
                    default: '2023-04-23T18:01:41.883Z'
                    description: The creation date of the element
                  updated_at:
                    type: string
                    default: '2023-04-23T18:01:41.219Z'
                    description: The last update date of the element
                  fields:
                    type: object
                    additionalProperties: true
                    description: Additional fields relating to the element.
                additionalProperties: false
          additionalProperties: false
          required:
            - elements
    additionalProperties: false
    required:
      - tags
      - areas
  color:
    type: object
    properties:
      id:
        type: number
        default: 1
        description: The ID of the color
      name:
        type: string
        default: black
        description: The name of the color
    additionalProperties: false
  element:
    type: object
    properties:
      id:
        type: number
        default: 1
        description: The ID of the element
      element:
        type: string
        default: elements_blockquote
        description: The name of the element
      position:
        type: number
        default: 1
        description: The position of the element
      created_at:
        type: string
        default: '2019-01-01T00:00:00.000Z'
        description: The date the element was created
      updated_at:
        type: string
        default: '2019-01-01T00:00:00.000Z'
        description: The date the element was updated
      fields:
        type: object
        additionalProperties: true
        description: The fields of the element
    additionalProperties: false
  distinct_element:
    type: object
    properties:
      element:
        type: string
        default: elements_heading
        description: The name machine of the element
      name:
        type: string
        default: Heading
        description: The name of the element
      hint:
        type: string
        default: Insert different size heading with optional sub-heading and alignment options.
        description: The hint of the element
      element_type:
        type: string
        default: regular
        description: The type of the element
      fields:
        type: array
        items:
          type: object
          properties:
            name:
              type: string
              description: The name of the field
            type:
              type: string
              description: The type of the field
            label:
              type: string
              description: The label of the field
            hint:
              type: string
              description: The hint associated with the field
            options:
              type: object
              additionalProperties: true
              description: The options of the field
            required:
              type: boolean
              description: The required status of the field
          additionalProperties: false
    additionalProperties: false
    required:
      - fields
  user:
    type: object
    properties:
      id:
        type: number
        default: 1
        description: The ID of the user
      username:
        type: string
        default: My user
        description: The username of the user
      slug:
        type: string
        default: my-user
        description: The slug of the user
      email:
        type: string
        default: test@user.com
        description: The email of the user
      role:
        type: string
        enum:
          - admin
          - editor
          - member
          - banned
        default: member
        description: The role of the user
      created_at:
        type: string
        default: '2020-01-01 00:00:00'
        description: The date and time the user was created
      updated_at:
        type: string
        default: '2020-01-01 00:00:00'
        description: The date and time the user was last updated
      last_sign_in_at:
        type: string
        default: '2020-01-01 00:00:00'
        description: The date and time the user last signed in
      etherbase:
        type: string
        default: '0x0000000000000000000000000000000000000000'
        description: The etherbase of the user
      token_balance:
        type: number
        default: 0
        description: The number of tokens the user has
      comments_count:
        type: number
        default: 0
        description: The number of comments the user has made
    additionalProperties: false
schemes:
  - https
tags: []
securityDefinitions:
  ApiKeyAuth:
    type: apiKey
    in: header
    name: X-API-Key
security:
  - ApiKeyAuth: []
# host: localhost:3000
# Added by API Auto Mocking Plugin
host: virtserver.swaggerhub.com
basePath: /StoryPRO/StoryPRO/1.2