Skip to main content

Photo by slug

Endpoint Overview

  • Endpoint Name: Photo by slug
  • Purpose: Retrieves the detail of a published photo for a specific culture, given its slug.
  • Method: GET
  • URL: /{version}/content/{culture}/photos/{slug}

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.
slugstringThe language-specific identifier of the photo.

Query Parameters

None.

Response

Response Codes

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

Response Body

Data structure

  • type: photo (String)
  • selfUrl: The URL to get the detail of this entity (String)
  • slug: The unique identifier of the photo (String)
  • title: The photo title (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 photo (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 photo (String)
    • neutralSlug: The language-independent unique identifier of the tag bound to the photo (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)
  • image: An object representing the information about the image file represented by this photo (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 about the custom cropping coordinates set for this photo, if present. (Optional) (Object)
  • mimeType: The media type of the file representing the content of the file (String)
  • storagePath: The relative path of the uploaded file on the image management system (String)
  • fields: An object representing the available custom fields for this photo (Object)
  • relations: An array of objects containing the set of relations added to this photo (Array)

ℹ️ From version 16.5.0, the related stories contain the field Headline.

  • references: An object containing the set of reference fields defined on this entity (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)
  • _listAvailability: An integer with two possible values: 0 and 1
    • When 0, it represents that the content is available in the list
    • When 1, it represents unlisted content (Integer)

Successful Response Example

Request GET https://acme.org/v2/content/en-us/photos/2019-05-29-redgrave-pintest-featured

Response

"root": {
"type": "photo"
"_translationId": "e69fdc4e-c4ea-415b-aeb3-d1927dfa2bef"
"_entityId": "811f692a-2d5f-418c-b0d7-9b2e907c8d38"
"selfUrl": "https://webplu-dev-forge-dapi.azurewebsites.net/v2/content/en-us/photos/2019-05-29-redgrave-pintest-featured"
"slug": "2019-05-29-redgrave-pintest-featured"
"title": "2019-05-29-redgrave-pintest-featured"
"tags": [
]
"relations": [
]
"references": {
}
"fields": {
}
"createdBy": "Frank Becker"
"lastUpdatedBy": "Frank Becker"
"lastUpdatedDate": "2020-07-21T07:33:43.554Z"
"contentDate": "2020-07-21T07:33:43.554Z"
"featured": 0
"storagePath": "image/private/webplu-dev/zaxax7s7k6z2lgoyb59x"
"mimeType": "image/jpeg"
"image": {
"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": {
}
}
}

Error Response Example

{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.5",
"title": "Not Found",
"status": 404,
"traceId": "00-136f600b8c8d7ff6adc6c91ad120030a-40a7c87bf5ee8fdf-00"
}

Common Errors and Troubleshooting

  • List common pitfalls and errors users may encounter
  • Provide clear guidance on how to resolve these issues
  • Provide links or references to related API endpoints for easy navigation