---
title: "Dev.to posting rules and settings in Posty | Posty Docs"
description: "What a Dev.to channel accepts in Posty: a Markdown article with a title, cover image, up to four tags, a canonical URL and an organization, and the API settings."
canonical: https://posty.hu/en/docs/platforms/dev-to
source: https://posty.hu/en/docs/platforms/dev-to.md
---

Platforms

# DEV.to: posting rules and settings

What a DEV.to channel accepts in Posty: media, limits, required fields, and the fields of the settings object for the API.

## Basics

Platform

DEV.to

Character limit

100000 (the connected account may have a different limit)

Media

Only the cover image (main\_image) is sent. Images attached to the post are not.

settings.\_\_type

`devto`

Required fields

title

Platform page

[DEV.to scheduler](https://posty.hu/en/channels/dev-to)

## Post types

The same channel accepts more than one kind of post, and each kind has different requirements. The table shows what you need for each.

| Type | Media | Notes |
| --- | --- | --- |
| Article | cover image in main\_image | The title is required. Images attached to the post are not sent. |

## Rules

- You connect with a DEV API key. You create it in your DEV settings.
- The article is published at the scheduled time, in Markdown.
- The tags and the organization expect values from DEV. You fetch the lists with the channel's tool calls.

## Settings fields

These fields go into the post's `settings` object, alongside the `__type` field. In the UI, you fill in the same ones in the channel's settings section.

| Field | Type | Required | What it does |
| --- | --- | --- | --- |
| title | string, at least 2 characters | yes | The article title. |
| main\_image | media object | no | The cover image, from the media library. |
| tags | array, each item { value: number, label: string }, at most 4 | no | The article tags. The default is an empty list. |
| canonical | string (URL) | no | The URL of the original article, if it first appeared elsewhere. |
| organization | string (id) | no | The ID of the organization to publish under. |

## Examples

Each example is one item in the `POST /public/v1/posts` request's `posts` array. The envelope around it is always this:

```
{
  "type": "schedule",
  "date": "2026-09-15T09:00:00.000Z",
  "shortLink": false,
  "posts": [ /* the item below */ ]
}
```

Copy Code

### Article with tags and a cover

The tag values come from the tags tool call of the channel. Posty sends the label.

```
{
  "integration": { "id": "<devto-channel>" },
  "value": [{ "content": "<p>How we cut our build time in half.</p>", "image": [] }],
  "settings": {
    "__type": "devto",
    "title": "How we cut our build time in half",
    "main_image": { "id": "<media>", "path": "https://uploads.posty.hu/cover.png" },
    "tags": [
      { "value": 1, "label": "javascript" },
      { "value": 2, "label": "webdev" }
    ],
    "canonical": "https://example.com/blog/build-time"
  }
}
```

Copy Code

The channel ID comes from the [channel list](https://posty.hu/en/docs/api/endpoints/channels), and the `path` values for images and videos from [media upload](https://posty.hu/en/docs/api/endpoints/upload-media). The exact schema for the connected account comes from the [settings schema endpoint](https://posty.hu/en/docs/api/endpoints/channel-schema). From the command line, the same thing is the `--settings` flag. See the [CLI examples](https://posty.hu/en/docs/cli/examples).

Documentation pages

Is something missing from this page? Email [norbert@posty.hu](mailto:norbert@posty.hu) or use the form on the [Help](https://posty.hu/en/help) page.
