openapi: 3.0.0 servers: - url: 'https://news.api.gov.bc.ca/' info: version: '1.0' title: BC Gov News API Service 1.0 description: News API license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' paths: /api/FacebookPosts/ByUri: get: tags: - FacebookPosts summary: Get a Facebook post based on a Uri operationId: FacebookPosts_GetByUri parameters: - name: uri in: query description: '' required: false schema: type: string default: '' - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/FacebookPost' application/json: schema: $ref: '#/components/schemas/FacebookPost' text/json: schema: $ref: '#/components/schemas/FacebookPost' /api/Home: get: tags: - Home summary: Returns the top level content for the home page operationId: Home_Get parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Home' application/json: schema: $ref: '#/components/schemas/Home' text/json: schema: $ref: '#/components/schemas/Home' /api/Ministries: get: tags: - Ministries summary: Get all ministries operationId: Ministries_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Ministry' application/json: schema: type: array items: $ref: '#/components/schemas/Ministry' text/json: schema: type: array items: $ref: '#/components/schemas/Ministry' '/api/Ministries/{key}': get: tags: - Ministries summary: Get the Ministry associated with the ministry key operationId: Ministries_GetOne parameters: - name: key in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Ministry' application/json: schema: $ref: '#/components/schemas/Ministry' text/json: schema: $ref: '#/components/schemas/Ministry' '/api/Ministries/{key}/Minister': get: tags: - Ministries summary: Get the Minister associated with the ministry key operationId: Ministries_GetMinister parameters: - name: key in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Minister' application/json: schema: $ref: '#/components/schemas/Minister' text/json: schema: $ref: '#/components/schemas/Minister' /api/Newsletters: get: tags: - Newsletters summary: Get all newsletters operationId: Newsletters_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Newsletter' application/json: schema: type: array items: $ref: '#/components/schemas/Newsletter' text/json: schema: type: array items: $ref: '#/components/schemas/Newsletter' '/api/Newsletters/{newsletterKey}': get: tags: - Newsletters summary: Get a specific newsletter operationId: Newsletters_GetOne parameters: - name: newsletterKey in: path required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Newsletter' application/json: schema: $ref: '#/components/schemas/Newsletter' text/json: schema: $ref: '#/components/schemas/Newsletter' '/api/Newsletters/{newsletterKey}/Editions/{editionKey}': get: tags: - Newsletters summary: Returns a specific edition of a newsletter operationId: Newsletters_GetEdition parameters: - name: newsletterKey in: path description: '' required: true schema: type: string - name: editionKey in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Edition' application/json: schema: $ref: '#/components/schemas/Edition' text/json: schema: $ref: '#/components/schemas/Edition' '/api/Newsletters/{newsletterKey}/Editions/{editionKey}/Articles/{articleKey}': get: tags: - Newsletters summary: Get an article belonging to a Newsletter edition operationId: Newsletters_GetArticle parameters: - name: newsletterKey in: path description: '' required: true schema: type: string - name: editionKey in: path description: '' required: true schema: type: string - name: articleKey in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Article' application/json: schema: $ref: '#/components/schemas/Article' text/json: schema: $ref: '#/components/schemas/Article' '/api/Newsletters/Images/{guid}': get: tags: - Newsletters summary: >- Get the image object reference by of a Newsletter Edition associated with the image guid operationId: Newsletters_GetImage parameters: - name: guid in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/EditionImage' application/json: schema: $ref: '#/components/schemas/EditionImage' text/json: schema: $ref: '#/components/schemas/EditionImage' '/api/Posts/{key}': get: tags: - Posts summary: Get the post associated with the key operationId: Posts_GetOne parameters: - name: key in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Post' application/json: schema: $ref: '#/components/schemas/Post' text/json: schema: $ref: '#/components/schemas/Post' /api/Posts: get: tags: - Posts summary: Get the posts associated with the keys in the list passed in. operationId: Posts_Get parameters: - name: postKeys in: query description: '' required: false explode: true schema: type: array items: type: string default: '' - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Post' application/json: schema: type: array items: $ref: '#/components/schemas/Post' text/json: schema: type: array items: $ref: '#/components/schemas/Post' '/api/Posts/Latest/{indexKind}/{indexKey}': get: tags: - Posts summary: >- Get the latest posts of postKind for the specified index (default or category) operationId: Posts_GetLatest parameters: - name: indexKind in: path description: home or one of categories required: true schema: type: string - name: indexKey in: path description: >- default or one key of the categories (ministries, sectors, services, tags, themes) required: true schema: type: string - name: postKind in: query description: >- One of: releases, stories, factsheets, updates or default (releases+stories except top/feature) required: false schema: type: string default: '' - name: count in: query description: number of posts to return required: false schema: type: integer format: int32 default: '' - name: skip in: query description: number of posts to skip required: false schema: type: integer format: int32 default: '' - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Post' application/json: schema: type: array items: $ref: '#/components/schemas/Post' text/json: schema: type: array items: $ref: '#/components/schemas/Post' '/api/Posts/Keys/{indexKind}/{indexKey}': get: tags: - Posts summary: Get all keys for the specified index (newsroom or category) operationId: Posts_GetAllKeys parameters: - name: indexKind in: path description: home or one of categories required: true schema: type: string - name: indexKey in: path description: >- default or one key of the categories (ministries, sectors, services, tags, themes) required: true schema: type: string - name: postKind in: query description: >- One of: releases, stories, factsheets, updates or default (releases+stories+factsheets) required: false schema: type: string default: '' - name: count in: query description: number of posts to return required: false schema: type: integer format: int32 default: '' - name: skip in: query description: number of posts to skip required: false schema: type: integer format: int32 default: '' - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/KeyValuePair_2' application/json: schema: type: array items: $ref: '#/components/schemas/KeyValuePair_2' text/json: schema: type: array items: $ref: '#/components/schemas/KeyValuePair_2' '/api/Posts/Keys/{reference}': get: tags: - Posts summary: Get the post key associated with the reference. operationId: Posts_GetKeyFromReference parameters: - name: reference in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/KeyValuePair_2' application/json: schema: $ref: '#/components/schemas/KeyValuePair_2' text/json: schema: $ref: '#/components/schemas/KeyValuePair_2' '/api/Posts/LatestMediaUri/{mediaType}': get: tags: - Posts summary: Gets the latest Social Media post for the social media type passed in. operationId: Posts_GetLatestMediaUri parameters: - name: mediaType in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: string application/json: schema: type: string text/json: schema: type: string /api/ResourceLinks: get: tags: - ResourceLinks summary: Get all resource links operationId: ResourceLinks_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/ResourceLink' application/json: schema: type: array items: $ref: '#/components/schemas/ResourceLink' text/json: schema: type: array items: $ref: '#/components/schemas/ResourceLink' /api/Sectors: get: tags: - Sectors summary: Get all Sectors operationId: Sectors_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Sector' application/json: schema: type: array items: $ref: '#/components/schemas/Sector' text/json: schema: type: array items: $ref: '#/components/schemas/Sector' '/api/Sectors/{key}': get: tags: - Sectors summary: Get the sector associated with the key operationId: Sectors_GetOne parameters: - name: key in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Sector' application/json: schema: $ref: '#/components/schemas/Sector' text/json: schema: $ref: '#/components/schemas/Sector' /api/Services: get: tags: - Services summary: Get all Services operationId: Services_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Service' application/json: schema: type: array items: $ref: '#/components/schemas/Service' text/json: schema: type: array items: $ref: '#/components/schemas/Service' '/api/Services/{key}': get: tags: - Services summary: Get the service associated with the passed key operationId: Services_GetOne parameters: - name: key in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Service' application/json: schema: $ref: '#/components/schemas/Service' text/json: schema: $ref: '#/components/schemas/Service' '/api/Slides/{id}': get: tags: - Slides summary: Get the slide associated to the id operationId: Slides_GetOne parameters: - name: id in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Slide' application/json: schema: $ref: '#/components/schemas/Slide' text/json: schema: $ref: '#/components/schemas/Slide' /api/Slides: get: tags: - Slides summary: Get all Slides operationId: Slides_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Slide' application/json: schema: type: array items: $ref: '#/components/schemas/Slide' text/json: schema: type: array items: $ref: '#/components/schemas/Slide' /api/Tags: get: tags: - Tags summary: Get all Tags operationId: Tags_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Tag' application/json: schema: type: array items: $ref: '#/components/schemas/Tag' text/json: schema: type: array items: $ref: '#/components/schemas/Tag' '/api/Tags/{key}': get: tags: - Tags summary: Get the Tag associated with the key operationId: Tags_GetOne parameters: - name: key in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Tag' application/json: schema: $ref: '#/components/schemas/Tag' text/json: schema: $ref: '#/components/schemas/Tag' /api/Themes: get: tags: - Themes summary: Get all Themes operationId: Themes_GetAll parameters: - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Theme' application/json: schema: type: array items: $ref: '#/components/schemas/Theme' text/json: schema: type: array items: $ref: '#/components/schemas/Theme' '/api/Themes/{key}': get: tags: - Themes summary: Get the Theme associated with the key operationId: Themes_GetOne parameters: - name: key in: path description: '' required: true schema: type: string - name: api-version in: query description: The requested API version required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Theme' application/json: schema: $ref: '#/components/schemas/Theme' text/json: schema: $ref: '#/components/schemas/Theme' components: schemas: FacebookPost: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: poster: type: string posterLogo: type: string posterSubtitle: type: string posterLikes: format: int32 type: integer content: type: string postLikes: format: int32 type: integer postComments: format: int32 type: integer postShares: format: int32 type: integer facebookObjectId: format: int32 type: integer type: type: string pictureUri: type: string DataModel: type: object properties: key: type: string timestamp: format: date-time type: string Home: type: object allOf: - $ref: '#/components/schemas/DataIndex' properties: liveWebcastFlashMediaManifestUrl: type: string liveWebcastM3uPlaylist: type: string name: type: string topPostKey: type: string featurePostKey: type: string DataIndex: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: kind: type: string name: type: string topPostKey: type: string featurePostKey: type: string Ministry: type: object allOf: - $ref: '#/components/schemas/Category' properties: childMinistryKey: type: string parentMinistryKey: type: string ministryUrl: type: string displayAdditionalName: type: string topicLinks: type: array items: $ref: '#/components/schemas/ResourceLink' serviceLinks: type: array items: $ref: '#/components/schemas/ResourceLink' newsletterLinks: type: array items: $ref: '#/components/schemas/ResourceLink' ministerName: type: string contactUser: $ref: '#/components/schemas/Contact' secondContactUser: $ref: '#/components/schemas/Contact' weekendContactNumber: type: string twitterFeedUsername: type: string flickrUri: type: string youtubeUri: type: string audioUri: type: string isActive: type: boolean name: type: string topPostKey: type: string featurePostKey: type: string ResourceLink: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: uri: type: string Contact: type: object properties: fullName: type: string phoneNumber: type: string mobileNumber: type: string emailAddress: type: string Category: type: object allOf: - $ref: '#/components/schemas/DataIndex' properties: twitterFeedUsername: type: string flickrUri: type: string youtubeUri: type: string audioUri: type: string isActive: type: boolean name: type: string topPostKey: type: string featurePostKey: type: string Minister: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: headline: type: string summary: type: string details: type: string emailHtml: type: string photo: type: string post: type: string Newsletter: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: name: type: string ministryName: type: string description: type: string editions: type: array items: $ref: '#/components/schemas/KeyValuePair_2' Edition: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: name: type: string htmlBody: type: string Article: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: editionName: type: string htmlBody: type: string EditionImage: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: fileName: type: string imageBytes: format: byte type: string imageType: type: string Post: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: kind: type: string atomId: type: string summary: type: string socialMediaSummary: type: string socialMediaHeadline: type: string keywords: type: string publishDate: format: date-time type: string leadMinistryKey: type: string hasMediaAssets: type: boolean isNewsOnDemand: type: boolean assetUrl: type: string location: type: string documents: type: array items: $ref: '#/components/schemas/Document' reference: type: string redirectUri: type: string ministryKeys: type: array items: type: string sectorKeys: type: array items: type: string serviceKeys: type: array items: type: string facebookPictureUri: type: string azureAssets: type: array items: $ref: '#/components/schemas/Asset' Document: type: object properties: pageTitle: type: string languageId: format: int32 type: integer headline: type: string subheadline: type: string detailsHtml: type: string byline: type: string contacts: type: array items: $ref: '#/components/schemas/DocumentContact' DocumentContact: type: object properties: title: type: string details: type: string Asset: type: object properties: key: type: string label: type: string length: format: int64 type: integer Sector: type: object allOf: - $ref: '#/components/schemas/Category' properties: twitterFeedUsername: type: string flickrUri: type: string youtubeUri: type: string audioUri: type: string isActive: type: boolean name: type: string topPostKey: type: string featurePostKey: type: string Service: type: object allOf: - $ref: '#/components/schemas/Category' properties: twitterFeedUsername: type: string flickrUri: type: string youtubeUri: type: string audioUri: type: string isActive: type: boolean name: type: string topPostKey: type: string featurePostKey: type: string Slide: type: object allOf: - $ref: '#/components/schemas/DataModel' properties: slideId: format: uuid type: string headline: type: string summary: type: string actionLabel: type: string actionUri: type: string image: format: byte type: string facebookPostUri: type: string justify: type: string imageType: type: string readOnly: true Tag: type: object allOf: - $ref: '#/components/schemas/Category' properties: twitterFeedUsername: type: string flickrUri: type: string youtubeUri: type: string audioUri: type: string isActive: type: boolean name: type: string topPostKey: type: string featurePostKey: type: string Theme: type: object allOf: - $ref: '#/components/schemas/Category' properties: twitterFeedUsername: type: string flickrUri: type: string youtubeUri: type: string audioUri: type: string isActive: type: boolean name: type: string topPostKey: type: string featurePostKey: type: string KeyValuePair_2: type: object properties: key: type: string readOnly: true value: type: string readOnly: true