Ditto (dittowords.com) Project Blocks API

The Project Blocks API from Ditto (dittowords.com) — 1 operation(s) for project blocks.

Operations 4

GET /projectBlocks Fetch project blocks #
POST /projectBlocks Create project blocks #
PATCH /projectBlocks Update project blocks #
DELETE /projectBlocks Delete project blocks #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dittowords:dittowords-project-blocks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dittowords-project-blocks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Ditto Project Blocks API
  description: Programmatically read and write data in your Ditto workspace.
servers:
- url: https://api.dittowords.com/v2
tags:
- name: Project Blocks
paths:
  /projectBlocks:
    get:
      tags:
      - Project Blocks
      description: 'Returns the blocks in a Ditto project, in display order.


        Blocks group text items within a project.'
      summary: Fetch project blocks
      security:
      - ApiKeyAuth: []
      parameters:
      - schema:
          type: string
          description: Developer ID of the project to list blocks for
        required: true
        description: Developer ID of the project to list blocks for
        name: projectId
        in: query
      responses:
        '200':
          description: Returns an array of blocks in the project, in display order
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: The Developer ID of the block
                    name:
                      type: string
                      description: The name of the block
                  required:
                  - id
                  - name
                example:
                - id: header
                  name: Header
                - id: footer
                  name: Footer
        '400':
          description: Returned when the project id does not match any project in the workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the validation failure
                required:
                - message
              example:
                message: Project with ID my-project not found
      operationId: getProjectBlocks
      x-operation-id-source: derived
    post:
      tags:
      - Project Blocks
      description: 'Creates one or more blocks in a Ditto project.


        New blocks are appended to the end of the project.'
      summary: Create project blocks
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  description: Developer ID of the project the new blocks will be added to
                blocks:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        description: The name of the new block. If omitted, an auto-numbered name is used (e.g. 'Block 1').
                      developerId:
                        type: string
                        description: Optional preconfigured developer ID for the block. Must be unique within the project (blocks in different projects may reuse the same developer ID). If omitted, one is generated automatically from the name.
                  minItems: 1
                  description: Array of new blocks to create
              required:
              - projectId
              - blocks
              example:
                projectId: my-project
                blocks:
                - name: Hero Section
                - developerId: custom-block-id
                  name: Footer
      responses:
        '200':
          description: Returns the developer IDs of the created blocks, in request order
          content:
            application/json:
              schema:
                type: object
                properties:
                  developerIds:
                    type: array
                    items:
                      type: string
                    description: Array of developer IDs for the created blocks, in request order
                required:
                - developerIds
                example:
                  developerIds:
                  - hero-section
                  - custom-block-id
        '400':
          description: 'Returned when the request body fails validation. Common causes include: the project id not matching any project in the workspace.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the validation failure
                required:
                - message
              example:
                message: Project with ID my-project not found
        '409':
          description: Returned when a supplied developer ID already exists in the project
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the conflict
                required:
                - message
              example:
                message: Block developer ID header already exists in project my-project
      operationId: postProjectBlocks
      x-operation-id-source: derived
    patch:
      tags:
      - Project Blocks
      description: 'Updates a set of blocks in a Ditto project.


        Each block is identified by its developer ID. Only provided fields are modified — omitted fields remain unchanged.'
      summary: Update project blocks
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  description: Developer ID of the project the blocks belong to
                updates:
                  type: array
                  items:
                    type: object
                    properties:
                      developerId:
                        type: string
                        description: The block's current developer ID
                      name:
                        type: string
                        description: New name for the block. If not provided, name remains unchanged.
                      newDeveloperId:
                        type: string
                        description: A new developer ID for this block. Must be unique within the project. Can be set alongside a name change in the same update object.
                    required:
                    - developerId
                  minItems: 1
                  description: Array of updates to blocks
              required:
              - projectId
              - updates
              example:
                projectId: my-project
                updates:
                - developerId: hero-section
                  name: Hero
            examples:
              update_name:
                summary: Rename a block
                value:
                  projectId: my-project
                  updates:
                  - developerId: hero-section
                    name: Hero
              update_developer_id:
                summary: Change a block's developer ID
                value:
                  projectId: my-project
                  updates:
                  - developerId: hero-section
                    newDeveloperId: hero
      responses:
        '200':
          description: Returns success status of the update operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the update was successful
                required:
                - success
                example:
                  success: true
        '400':
          description: 'Returned when the request body fails validation. Common causes include: the project id not matching any project in the workspace, a developer ID that does not match any existing block in the project, or a newDeveloperId that already exists in the project.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the validation failure
                required:
                - message
              example:
                message: Block id not found
      operationId: patchProjectBlocks
      x-operation-id-source: derived
    delete:
      tags:
      - Project Blocks
      description: Deletes blocks from a Ditto project.
      summary: Delete project blocks
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  description: Developer ID of the project the blocks belong to
                developerIds:
                  type: array
                  items:
                    type: string
                  minItems: 1
                  description: Developer IDs of the blocks to delete. Text items in a deleted block are not deleted — they are unassigned and moved to the end of the project's root level.
              required:
              - projectId
              - developerIds
              example:
                projectId: my-project
                developerIds:
                - hero-section
                - footer
      responses:
        '200':
          description: Returns success status of the deletion operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the deletion was successful
                required:
                - success
                example:
                  success: true
        '400':
          description: Returned when the project id does not match any project in the workspace, or a developer ID does not match any existing block in the project.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the validation failure
                required:
                - message
              example:
                message: Block id not found
      operationId: deleteProjectBlocks
      x-operation-id-source: derived
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization