Skip to main content

Stories

Endpoint Overview​

  • Endpoint Name: Stories
  • Purpose: Retrieves the list of published stories for a specific culture.
  • Method: GET
  • URL: /{version}/content/{culture}/stories

Authentication​

  • Authentication Type: None

Request​

Headers​

Header NameRequiredDescription
acceptYesapplication/json

Path Parameters​

ParameterTypeDescription
versionstringThe version of the API to be used. Allowed values: v2.
culturestringThe culture's identifier. E.g., en-us.

Query Parameters​

ParameterTypeRequiredDescription
tags.slugstringNoThe language-specific slug of the tag we want to use as a filter. This parameter can be specified more than once.
tags.neutralSlugstringNoThe language-independent slug of the tag we want to use as a filter. This parameter can be specified more than once.
tags.externalSourceReferencestringNoThe externalSourceReference object of the tag we want to filter for, defined as sourceName:sourceId. See Advanced filtering for more info.
content.slugstringNoThe language-specific slug of the tag assigned as the context we want to use as a filter.
context.neutralSlugstringNoThe language-independent slug of the tag assigned as the context we want to use as a filter.
featuredintegerNoSpecify the value 1 to get only promoted (featured) content; 0 to get only NOT promoted items.
_idslugNoThe language-specific identifier (slug) of the content we want to search for.
_listAvailabilitystringNoGet content with the specified availability option. Possible values : 0 (Public) or 1 (Unlisted). Default: when NOT specified, only Public content (0) will be returned.
$skipintegerNoThe number of entities to be skipped. Default: 0
$limitintegerNoThe maximum number of entities to be returned (up to 100). Default : 25.
$sortstringNoThe field to be used as the sort condition with the desired direction. The sort field can be: lastUpdatedDate, context.slug, tags.slug, context.neutralSlug, tags.neutralSlug, tags.externalSourceReference. Only one field can be specified per request. Default : when NOT specified content will be ordered by featured and contentDate descending.

Response​

Response Codes​

HTTP Status CodeMeaning
200Successful request
404Not Found (resource does not exist)
500Internal Server Error

Response Body​

Data structure​

  • meta: Contains general information related to the request performed (Object)
    • apiVersion: The current version of the API endpoint that generated the response (String)
    • generatedAt: The UTC timestamp of the response (String)
  • pagination: Contains information about the pagination of the current response (Object)
    • nextUrl: The URL that can be used to retrieve the next page of results (String)
    • previousUrl: The URL that can be used to retrieve the previous page of results. This is only available when consuming a page next to the first one (String)
    • maxItems: The maximum number of items that can be retrieved per page (100) (Integer)
  • items: An array of story objects (Array)
    • type: story (String)
    • selfUrl: The URL to get the detail of this entity (String)
    • slug: The unique identifier of the story (String)
    • title: The story title (String)
    • headline: The headline of the story (String)
    • summary: The summary of the story (String)
    • contentDate: The UTC timestamp of this content (Date-time)
    • createdBy: The full name of the author that created this entity (String)
    • lastUpdatedBy: The full name of the last author that updated this entity (String)
    • lastUpdatedDate: UTC timestamp of the last update operation occurred on this entity (Date-time)
    • featured: When 1, it represents a promoted content (Integer)
    • tags: An array of objects containing the set of tags related to this story (Array)
      • type: tag (String)
      • selfUrl: The URL to get the detail of the tag entity (String)
      • slug: The language-specific unique identifier of the tag bound to the story (String)
      • neutralSlug: The language-independent unique identifier of the tag bound to the story (String)
      • externalSourceName: The name of the external source from where the tag was selected. If null, the tag is of type free-text (String)
      • title: The title of the tag in the current language (String)
      • extraData: An object containing custom-defined data, bound to the current tag (Object)
      • fields: An object representing the available custom fields for the tag (Object)
    • context: An object containing the information related to the tag used as the context (same contract as tag) (Object)
    • thumbnail: An object representing the thumbnail of the picture bound to the current entity (Object)
      • title: The title of the photo (String)
      • templateUrl: The template URL that can be used to retrieve the photo file from Cloudinary (String). Contains {formatName} or {formatInstructions} placeholders. (String)
      • thumbnailUrl: The URL of the thumbnail format that can be used to retrieve the photo from Cloudinary (String)
      • format: The format of the original image (e.g., jpg, png, etc.) (String)
      • overriddenFormats: An object representing details related to the custom cropping coordinates set for this photo, if present. Available only when the system is configured with the cropping option (Object)
      • slug: The language-specific unique identifier of the photo entity used as the thumbnail (String)
      • selfUrl: The URL to get the detail of this entity (String)
    • fields: An object representing the available custom fields for this story (Object)
    • _entityId: The language-independent unique identifier of the entity (Entity Code) (Guid)
    • _translationId: The language-specific unique identifier of the entity (Localized Entity Code) (Guid)

Successful Response Example​

Request GET https://acme.org/v2/content/en-us/stories

Response

▼ "root": {
▼ "pagination": {
"maxItems": 100
}
▼ "meta": {
"apiVersion": "2.0"
"generatedAt": "2020-07-30T15:50:40.9109302Z"
}
▼ "items": [
▼ "0": {
"type": "story"
"_translationId": "24904094-67ae-4c04-8ea6-51060a08e6a1"
"_entityId": "1fdd46a6-2e9b-4d9f-8557-88b6bed902f8"
"selfUrl": "https://acme.org/v2/content/en-us/stories/a-handful-of-olympic-and-paralympic-rowing-facts"
"slug": "a-handful-of-olympic-and-paralympic-rowing-facts"
"title": "A handful of Olympic and Paralympic rowing facts"
▼ "tags": [
▼ "0": {
"_translationId": "a6f13b8a-cd67-4e9f-82c8-798d47d1c389"
"_entityId": "7458c096-8d65-40a3-b535-f8ba1a08ccfa"
"selfUrl": "https://acme.org/v2/content/en-us/tags/rowing"
"title": "rowing"
"slug": "rowing"
"neutralSlug": "rowing"
▼ "externalSourceReference": {
}
▼ "fields": {
}
}
]
▼ "fields": {
}
"createdBy": "Frank Becker"
"lastUpdatedBy": "Frank Becker"
"lastUpdatedDate": "2020-07-30T15:31:03.44Z"
"contentDate": "2020-07-21T07:34:19.442Z"
"featured": 0
"headline": "Interesting facts about rowing in the Olympic games"
"summary": "The familiar story goes that rowing was included at the first Olympic Games in 1896, but due to inclement weather, the rowing races were cancelled. There were only a handful of countries set to participate, among them France, Germany, Italy and Greece, in just four boat classes. While rowing today"
▼ "thumbnail": {
"title": "2019-05-29-redgrave-pintest-featured"
"templateUrl": "https://images.acme.org/media/image/private/{formatInstructions}/forge/zaxax7s7k6z2lgoyb59x"
"thumbnailUrl": "https://images.acme.org/media/image/private/w_250,h_250,c_thumb,g_auto,q_auto,f_jpg/forge/zaxax7s7k6z2lgoyb59x"
"format": "jpg"
▼ "overriddenFormats": {
}
"slug": "2019-05-29-redgrave-pintest-featured"
"selfUrl": "https://acme.org/v2/content/en-us/photos/2019-05-29-redgrave-pintest-featured"
}
}
]
}

Error Response Example​

{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.5",
"title": "Not Found",
"status": 404,
"traceId": "00-bdd418da1652593248958acf2dfad4e0-6d55da45f17bddf1-00"
}

Common Errors and Troubleshooting​

Nothing known.