Plasmic Rows API

Create, update, publish, and delete CMS rows.

OpenAPI Specification

plasmic-rows-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Plasmic CMS Items Rows API
  description: 'Plasmic CMS is the headless content API for structured data managed

    inside Plasmic. Read and write rows in models defined in Studio. All

    requests are authenticated with the

    `x-plasmic-api-cms-tokens: CMS_ID:TOKEN` header. Use the public token

    for read operations and the secret token for write operations.

    '
  version: 1.0.0
  contact:
    name: API Evangelist
    email: kin@apievangelist.com
  license:
    name: Proprietary
servers:
- url: https://data.plasmic.app/api/v1
  description: Plasmic CMS production
security:
- cmsTokens: []
tags:
- name: Rows
  description: Create, update, publish, and delete CMS rows.
paths:
  /cms/databases/{CMS_ID}/tables/{CMS_MODEL_ID}/rows:
    parameters:
    - $ref: '#/components/parameters/CMSID'
    - $ref: '#/components/parameters/CMSModelID'
    - name: publish
      in: query
      required: false
      schema:
        type: integer
        enum:
        - 1
      description: Pass `1` to auto-publish the created row.
    post:
      tags:
      - Rows
      summary: Create item (row)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RowInput'
      responses:
        '200':
          description: Row created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Row'
  /cms/rows/{ROW_ID}:
    parameters:
    - $ref: '#/components/parameters/RowID'
    - name: publish
      in: query
      required: false
      schema:
        type: integer
        enum:
        - 1
    put:
      tags:
      - Rows
      summary: Update item (row)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RowInput'
      responses:
        '200':
          description: Row updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Row'
    delete:
      tags:
      - Rows
      summary: Delete item (row)
      responses:
        '204':
          description: Row deleted.
  /cms/rows/{ROW_ID}/publish:
    parameters:
    - $ref: '#/components/parameters/RowID'
    post:
      tags:
      - Rows
      summary: Publish item (row)
      responses:
        '200':
          description: Row published.
components:
  parameters:
    CMSID:
      name: CMS_ID
      in: path
      required: true
      schema:
        type: string
      description: Plasmic CMS database identifier.
    CMSModelID:
      name: CMS_MODEL_ID
      in: path
      required: true
      schema:
        type: string
      description: Plasmic CMS model (table) identifier.
    RowID:
      name: ROW_ID
      in: path
      required: true
      schema:
        type: string
      description: Plasmic CMS row identifier.
  schemas:
    Row:
      type: object
      properties:
        id:
          type: string
        identifier:
          type: string
        data:
          type: object
          additionalProperties: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    RowInput:
      type: object
      properties:
        identifier:
          type: string
        data:
          type: object
          additionalProperties: true
  securitySchemes:
    cmsTokens:
      type: apiKey
      in: header
      name: x-plasmic-api-cms-tokens
      description: 'Plasmic CMS authentication header in the form `CMS_ID:TOKEN`. Use the

        public token for read operations and the secret token for write

        operations.

        '