Related endpoints:
GET /admin/api/articles/1/comments
By default, this requests returns a list of all comments (spam and non spam) for the requested article (newer first).
This endpoint also allows anonymous access that return only a list of non spam comments.
Example response (authenticated request):
Status: 200 OK
[
{
"id": 2,
"author": "I'm a Spammer!",
"body": "Buy something!",
"spam": false,
"created_at": "2014-02-07T10:54:08.000Z",
"updated_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1/comments/2",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"updated_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
}, {
"id": 1,
"author": "Me",
"body": "Hi!\r\n\r\nThis is a comment!!",
"spam": false,
"created_at": "2014-02-06T15:53:01.000Z",
"updated_at": "2014-02-06T15:53:01.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1/comments/1",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"updated_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
}
]
Example response (anonymous request):
Status: 200 OK
[
{
"author": "I'm a Spammer!",
"body": "Buy something!",
"created_at": "2014-02-07T10:54:08.000Z",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
}, {
"author": "Me",
"body": "Hi!\r\n\r\nThis is a comment!!",
"created_at": "2014-02-06T15:53:01.000Z",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
}
]
per_page
- elements per response (default: 50
; maximum: 250
).page
- requested page (default: 1
).not_spam
- if present then returns only non spam comments. (eg ?not_spam=1
). NB! Applies only to authenticated request.spam
- if present then returns only spam comments. (eg ?spam=1
). NB! Applies only to authenticated request.Read more about filters.
comment
attributes: id
, spam
, author
, author_email
, body
, user_agent
, referrer
, created_at
, updated_at
.POST /admin/api/articles/1/comments
Allow to post a new comment.
This endpoint also allows anonymous access.
Example data:
{
"author": "Me",
"author_email": "marilyn@monroe.com",
"body": "Hi!\r\n\r\nThis is a comment!!",
"g-recaptcha-response": "valid-response-token"
}
The g-recaptcha-response
value must be include to request when reCAPTCHA is enabled for the article. Read more about [Google reCAPTCHA v3]https://developers.google.com/recaptcha/docs/v3).
Example response (authenticated request):
Status: 201 Created
{
"id": 1,
"author": "Me",
"body": "Hi!\r\n\r\nThis is a comment!!",
"spam": false,
"created_at": "2014-02-06T15:53:01.000Z",
"updated_at": "2014-02-06T15:53:01.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1/comments/1",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"updated_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
},
"author_email": "marilyn@monroe.com",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:27.0) Gecko/20100101 Firefox/27.0",
"referrer": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
Example response (anonymous request):
Status: 201 Created
{
"author": "Me",
"body": "Hi!\r\n\r\nThis is a comment!!",
"created_at": "2014-02-06T15:53:01.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1/comments/1",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
}
Required parameters are:
author
- comment author name.author_email
- comment author email.body
- comment body.GET /admin/api/articles/1/comments/1
Example request:
GET http://helloworld.voog.co/admin/api/articles/1/comments/2
Example response:
Status: 200 OK
{
"id": 2,
"author": "I'm a Spammer!",
"body": "Buy something!",
"spam": false,
"created_at": "2014-02-07T10:54:08.000Z",
"updated_at": "2014-02-07T10:54:08.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1/comments/2",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"updated_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
},
"author_email": "spam@spam.com",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:27.0) Gecko/20100101 Firefox/27.0",
"referrer": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
PUT /admin/api/articles/1/comments/1/toggle_spam
This request toggles the comment spam flag.
Example request:
PUT http://helloworld.voog.co/admin/api/articles/1/comments/2/toggle_spam
Example response:
Status: 200 OK
{
"id": 2,
"author": "I'm a Spammer!",
"body": "Buy something!",
"spam": true,
"created_at": "2014-02-07T10:54:08.000Z",
"updated_at": "2014-02-07T10:54:08.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1/comments/2",
"article": {
"id": 1,
"title": "How I wrote my first article",
"created_at": "2014-02-07T10:56:07.000Z",
"updated_at": "2014-02-07T10:56:07.000Z",
"url": "http://helloworld.voog.co/admin/api/articles/1",
"public_url": "http://helloworld.voog.co/blog/how-i-wrote-my-first-article"
}
}
DELETE /admin/api/articles/1/comments/1
This request deletes the comment from the database.
Example request:
DELETE http://helloworld.voog.co/admin/api/articles/1/comments/1
Example response:
Status: 204 No Content
DELETE /admin/api/articles/1/comments/delete_spam
This request deletes all comments flagged as spam under given article.
Example request:
DELETE http://helloworld.voog.co/admin/api/articles/1/comments/delete_spam
Example response:
Status: 200 OK
{
"deleted_count": 1
}