Ditto (dittowords.com) Project Blocks API
The Project Blocks API from Ditto (dittowords.com) — 1 operation(s) for project blocks.
The Project Blocks API from Ditto (dittowords.com) — 1 operation(s) for project blocks.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/dittowords:dittowords-project-blocks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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