Resources
MDX
MDX file operations
RESTful operations on MDX files with namespaces.
Pattern
GET /:ns/:type List MDX files
POST /:ns/:type Create (ID auto-generated)
GET /:ns/:type/:id Get MDX file
PUT /:ns/:type/:id Update MDX file
DELETE /:ns/:type/:id Delete MDX fileNamespace
:ns can be:
- Your domain:
acme.com - Builder domain:
myapp.hq.com.ai,startup.app.net.ai,project.io.mw
Example
# Get MDX file
GET https://apis.do/acme.com/businesses/acme-inc
# List MDX files
GET https://apis.do/acme.com/businesses
# Create MDX file (ID auto-generated)
POST https://apis.do/acme.com/businesses
{
"frontmatter": {
"title": "New Business",
"industry": "Technology"
},
"body": "# New Business\n\nDescription..."
}
# Update MDX file
PUT https://apis.do/acme.com/businesses/acme-inc
{
"frontmatter": {
"industry": "Advanced Manufacturing"
}
}
# Delete MDX file
DELETE https://apis.do/acme.com/businesses/acme-incResponse
{
"id": "acme-inc",
"type": "businesses",
"namespace": "acme.com",
"frontmatter": {
"title": "Acme Inc",
"industry": "Manufacturing"
},
"body": "# Acme Inc\n\nManufacturer of...",
"url": "https://apis.do/acme.com/businesses/acme-inc",
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-11-11T15:30:00Z"
}SDK
import { $ } from 'sdk.do'
const client = $('acme.com')
// Get
const doc = await client.mdx.get('businesses', 'acme-inc')
// List
const docs = await client.mdx.list('businesses')
// Create
const newDoc = await client.mdx.create('businesses', {
frontmatter: { title: 'New Business' },
body: '# New Business\n\nDescription...'
})
// Update
await client.mdx.update('businesses', 'acme-inc', {
frontmatter: { industry: 'Advanced Manufacturing' }
})
// Delete
await client.mdx.delete('businesses', 'acme-inc')Content Types
# JSON (default)
curl -H "Accept: application/json" \
https://apis.do/acme.com/businesses/acme-inc
# Raw MDX
curl -H "Accept: text/mdx" \
https://apis.do/acme.com/businesses/acme-inc
# Rendered HTML
curl -H "Accept: text/html" \
https://apis.do/acme.com/businesses/acme-inc