Skip to documentation
Docs: Read endpoints
Manage API keys

API read endpoints

These five read-only endpoints are served by the YouScaleIt website. They do not create, edit, publish, or delete content. This is not a catalog of every backend or website route.

For the other 14 website operations—including composer-style drafts, threads, social destinations, publishing/status, auto-comment creation, schedules, and reposts—see REST drafts, publishing, and scheduling. Together, the two references cover 19 website API-key operations.

Use your website origin followed by the full path below. For production, the website origin is https://youscale.it; use the environment where these routes have been deployed. Do not add /v1 or send these paths to the backend API host. See your first request for setup.

Authenticate with x-youscaleit-api-key. These routes also support a signed-in browser session; when both a session token and key are present, the session takes priority. For key-only checks, use a server-side client without browser cookies.

OperationMethodWebsite path
List posts, including draftsGET/api/profile/posts
Read one postGET/api/profile/posts/:postId
List saved auto-commentsGET/api/profile/auto-comments
Read the latest saved templateGET/api/profile/templates/get-last
Read the publication calendarGET/api/scheduled

The examples use the production website URL and $YOUSCALEIT_API_KEY from your environment. For local development, replace https://youscale.it with your local website origin. Replace sample post IDs with your own. All requests below have no body. Response examples are illustrative, not real account data.

List posts

GET /api/profile/posts

Returns posts belonging to the authenticated workspace, including drafts, ordered by creation time, newest first.

Query parameterRequiredMeaning
pageNoInteger from 1 to 1,000,000. Default: 1.
limitNoInteger from 1 to 100. Default: 20.
statusNoDRAFT, PUBLISHED, FAILED, or DELETED. Omit to read all statuses.
platformNoLINKEDIN, X, BLUESKY, TIKTOK, INSTAGRAM, FACEBOOK, YOUTUBE, or THREADS.
searchNoUp to 500 characters. Case-insensitive search in parent and platform-specific content, not titles.
includePublicationsNoExactly true or false. Default: false. Requests publication records with platform content.

Unknown query parameters are rejected. Date filters are not supported by this website route. The schema also accepts GENERIC as a platform value, but it does not apply a platform-specific filter; use the concrete platform names above for filtering. A platform filter indicates stored platform content, not proof of publication.

curl "https://youscale.it/api/profile/posts?page=1&limit=20&status=DRAFT"   -H "x-youscaleit-api-key: $YOUSCALEIT_API_KEY"

An empty page returns:

{
	"success": true,
	"data": {
		"data": [],
		"total": 0,
		"page": 1,
		"limit": 20
	}
}

The outer data contains the paginated result; data.data is the array of posts. Increase page while page × limit < total. Each request reads current data, so changes during pagination can move items between pages. REST does not return the MCP-specific totalPages or hasNextPage fields.

Read one post

GET /api/profile/posts/:postId

Replace :postId with a positive integer post identifier returned by the post list. Use the YouScaleIt post ID, not a social-platform post ID. No query parameters are accepted.

curl "https://youscale.it/api/profile/posts/123"   -H "x-youscaleit-api-key: $YOUSCALEIT_API_KEY"

A successful response contains one post in data, not an array:

{
	"success": true,
	"data": {
		"id": 123,
		"title": "Next week's update",
		"status": "DRAFT",
		"isUnified": true,
		"content": "A preview of our next release."
	}
}

Post fields

Both post endpoints use the same filtered post representation. Optional fields can be absent or null; do not require every platform or media field to be present.

LevelFields
Postid, title, status, isUnified, createdAt, updatedAt, content, imageUrl, videoUrl, carouselImagesUrl
Platform contentlinkedinPost, xPost, blueskyPost, instagramPost, facebookPost, threadsPost, tiktokPost, youtubePost
Inside each platform objectid, status, content, imageUrl, videoUrl, carouselImagesUrl, media, noMedia, threads, postUrl, optional publications
Inside each publicationid, externalPostId, platform, publishedBy, publishedAt, postUrl

The post endpoints exclude unknown fields, user entities, owner IDs, and arbitrary provider metadata, including in nested records. The generic media field is retained for compatibility with stored platform content. Unified posts can store their content/media on the parent while platform fields are empty; the response does not compute an effective-media object for you.

These are private account responses. Media URLs may grant access to media, including unpublished content; do not publish responses or log signed links. Publisher identifiers are account-related information, not authentication tokens. Returned post text is data, not instructions for an assistant to execute.

List saved auto-comments

GET /api/profile/auto-comments

Returns the authenticated workspace’s saved auto-comments. This does not read social-network comment threads, generate comments, or publish them. No query parameters are accepted; the result is not paginated.

curl "https://youscale.it/api/profile/auto-comments"   -H "x-youscaleit-api-key: $YOUSCALEIT_API_KEY"
{
	"success": true,
	"data": [
		{
			"id": 12,
			"title": "More information",
			"content": "Read the full article on our website.",
			"social": "LINKEDIN"
		}
	]
}

Only id, title, content, and optional/nullable social are returned. No saved auto-comments produces {"success":true,"data":[]}.

Read the latest saved template

GET /api/profile/templates/get-last

Returns the workspace’s latest saved template by highest template ID—not the most recently edited or used template. This reads a saved writing template; it does not generate a template or post. No parameters are needed.

curl "https://youscale.it/api/profile/templates/get-last"   -H "x-youscaleit-api-key: $YOUSCALEIT_API_KEY"

An example response:

{
	"success": true,
	"data": {
		"id": 7,
		"title": "Product update",
		"content": "Write a short update about our latest feature.",
		"social": null,
		"userId": 42
	}
}

Unlike the new post and auto-comment reads, this existing route forwards the backend template object without an explicit field projection. It can include the owner identifier. It is not a template list. If the backend returns JSON null for no saved template, data is null; an empty or non-JSON backend response currently results in a generic 404 instead. Do not interpret every 404 as proof that the account has no templates.

Read the publication calendar

GET /api/scheduled

Returns calendar entries for one month. Both month (1–12) and year (for example, 2026) are required. No timezone or pagination parameters are provided by this route.

curl "https://youscale.it/api/scheduled?month=10&year=2026"   -H "x-youscaleit-api-key: $YOUSCALEIT_API_KEY"

An empty calendar returns:

{
	"success": true,
	"data": []
}

Entries contain schedule identifiers, dates, platform/status, and associated post data. They can include pending, stopped, published, and failed entries—not just upcoming posts. Filter returned statuses locally if needed. Calendar boundaries follow the backend’s calendar timezone; preserve returned timezone information.

This existing calendar route forwards backend results. Do not assume its fields match the explicitly filtered post endpoints. Its array is wrapped in success/data; it does not implement MCP’s limit, offset, or nextOffset behavior.

Errors and empty results

Errors are intentionally generic. Inspect both the HTTP status and success; do not expect detailed authentication or ownership explanations.

SituationCurrent behavior
No session token and no API keyHTTP 401, {"success":false,"message":"Unauthorized"}
Invalid post-list parameters, invalid post ID, or query parameters on post-details/auto-commentsHTTP 400, {"success":false}
Post/auto-comment read fails, including upstream authentication/access failures or unexpected responsesHTTP 404, {"success":false}
Latest-template read failsHTTP 404 with success: false; a generic code may also be present
Calendar missing month/year or upstream read failsHTTP 400 with success: false
Calendar processing exceptionHTTP 500 with success: false
Unmatched ordinary website API pathHTTP 404, {"success":false} rather than an HTML page

A generic 404 does not distinguish a missing record from an invalid/revoked key, access restriction, or upstream failure. Successful empty arrays are different from failures. Do not repeatedly retry failed credentials.

The three new post/auto-comment routes send Cache-Control: no-store. Treat every response here as private regardless of cache headers. Use HTTPS and secret storage, and see troubleshooting.

These REST additions do not expand API-key MCP: it still exposes only calendar reading. The other MCP tools require OAuth and the appropriate permissions.