openapi: 3.1.0
info:
title: Dev.to Forem Articles Reactions API
description: The Dev.to Forem API (v1) is a RESTful API that provides programmatic access to the Dev.to developer community platform, which is built on the open-source Forem framework. The API enables developers to create, read, update, and manage articles, comments, users, organizations, tags, followers, listings, podcast episodes, pages, display ads, reactions, reading lists, and webhooks. It uses API key authentication, requires an accept header of application/vnd.forem.api-v1+json, and returns JSON responses. Unauthenticated endpoints are CORS-enabled, making it possible to fetch public content directly from browser-based applications.
version: 1.0.0
contact:
name: Forem Support
url: https://forem.com
termsOfService: https://dev.to/terms
servers:
- url: https://dev.to/api
description: Dev.to Production Server
security:
- apiKey: []
tags:
- name: Reactions
description: Endpoints for creating and toggling reactions on articles, comments, and users.
paths:
/reactions/toggle:
post:
operationId: toggleReaction
summary: Toggle reaction
description: Toggles a reaction on or off for an article, comment, or user. If the reaction already exists it will be removed; otherwise it will be created.
tags:
- Reactions
parameters:
- name: category
in: query
required: true
schema:
type: string
enum:
- like
- unicorn
- exploding_head
- raised_hands
- fire
description: The category of reaction.
- name: reactable_id
in: query
required: true
schema:
type: integer
description: The ID of the reactable entity.
- name: reactable_type
in: query
required: true
schema:
type: string
enum:
- Comment
- Article
- User
description: The type of entity being reacted to.
responses:
'200':
description: Reaction toggled successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Reaction'
'401':
description: Unauthorized
/reactions:
post:
operationId: createReaction
summary: Create reaction
description: Creates a new reaction on an article, comment, or user.
tags:
- Reactions
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- category
- reactable_id
- reactable_type
properties:
category:
type: string
enum:
- like
- unicorn
- exploding_head
- raised_hands
- fire
description: The category of reaction.
reactable_id:
type: integer
description: The ID of the reactable entity.
reactable_type:
type: string
enum:
- Comment
- Article
- User
description: The type of entity being reacted to.
responses:
'200':
description: Reaction created
content:
application/json:
schema:
$ref: '#/components/schemas/Reaction'
'401':
description: Unauthorized
components:
schemas:
Reaction:
type: object
description: A reaction (like, unicorn, etc.) on an article, comment, or user.
properties:
result:
type: string
description: The result of the reaction operation (created or destroyed).
category:
type: string
enum:
- like
- unicorn
- exploding_head
- raised_hands
- fire
description: The category of the reaction.
id:
type: integer
description: The unique identifier of the reaction.
reactable_id:
type: integer
description: The ID of the entity the reaction is on.
reactable_type:
type: string
description: The type of entity the reaction is on.
securitySchemes:
apiKey:
type: apiKey
in: header
name: api-key
description: API key obtained from the DEV.to settings page. Pass in the api-key header for authenticated requests.
externalDocs:
description: Forem API V1 Documentation
url: https://developers.forem.com/api/v1