Skip to main content
PATCH
Update an article

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Body

application/json
title
string
Example:

"How to Start a Blog in 2024"

description
string
Example:

"A comprehensive guide."

slug
string
Example:

"how-to-start-a-blog-2024"

coverImageUrl
string
Example:

"https://cdn.example.com/cover.jpg"

categoryId
string
Example:

"clx..."

Response

id
string
required
Example:

"clx..."

title
string
required
Example:

"How to Start a Blog"

status
enum<string>
required

Derived from the list rather than repeated here, so a new status cannot be returned while the docs still deny it exists. generated means the article has never left RankSpot; published means it reached your site.

Available options:
draft,
generating,
generated,
published
Example:

"generated"

slug
string
required
Example:

"how-to-start-a-blog"

createdAt
string<date-time>
required
updatedAt
string<date-time>
required

Last write of any kind, including a status change or a metadata edit. This is not a reliable answer to "when was the content last refreshed" — use lastPublishedAt for that.

isIndexed
boolean
required

Whether Google Search Console reports the page as indexed. Refreshed by a weekly job, so it reflects the last check rather than this instant: read indexCheckedAt to know how fresh it is.

description
string | null
Example:

"A comprehensive guide."

contentHtml
string | null

Only returned by GE../articles/:slug

Example:

"<h1>How to Start a Blog</h1>..."

coverImageUrl
string | null
Example:

"https://cdn.example.com/cover.jpg"

categoryId
string | null
Example:

"clx..."

firstPublishedAt
string | null

When the article first went live. Null means it has never been published. This is the article's publication date: unlike lastPublishedAt it does not move on a re-publish, so it is what a page should show as "published on" and what answers "how many articles went out in this window".

lastPublishedAt
string | null

When the article was last pushed to your site. Null means it has never been published. This is the field to check when deciding whether a page losing traffic is stale, and the one to show as "last updated": it moves only when the content actually reached readers, unlike updatedAt.

indexCoverageState
string | null

Search Console's own reason, verbatim, when the page is not indexed. This is the field that decides what to do about it: "Crawled - currently not indexed" means Google looked and declined, so the page needs work; "Discovered - currently not indexed" means it has not been crawled yet; a canonical or noindex reason means neither requesting nor rewriting will help.

Example:

"Crawled - currently not indexed"

indexCheckedAt
string | null

When the index status above was last checked. Null means never checked, which is not the same as not indexed.

indexRequestedAt
string | null

When indexing was last requested for this page. Null means it has never been submitted. Requests are throttled to one per page per week.