Type object
File match **/exchange-config/portal/catalogue-entry.yaml **/exchange-config/portal/catalogue-entry.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/dwp-exchange-catalogue-entry/latest.json
Source https://raw.githubusercontent.com/dwp/schemas/main/exchange/publishing-tools/catalogue-entry-schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

description string required
minLength=10maxLength=200
primaryContact object required

Contact details for the owner of the asset, i.e. the Product Owner.These details will be used when customers make enquiries or request access to the asset through the portal.

Examples: {"name":"Jo Doe","emailAddress":"[email protected]","role":"PO"}
3 nested properties
emailAddress string required

must end with gov.uk

pattern=^.*@.*gov\.uk$
name string
minLength=2maxLength=60
role string
minLength=2
filters object required

A list of filtering options to improve searchability on the portal. Please check the README file to check the valid combinations of lifecycle, profile, and access.

Examples: {"asset_type":"REST API","owner":"Integration","categories":["Address"],"visibility":"Internal","lifecycle":"Prod","profile":"Transitional","access":"Open"}
All of: active-lifecycle, deprecated-lifecycle
7 nested properties
asset_type string required
Values: "REST API" "SOAP API" "Event" "Datasets"
Examples: "REST API"
owner string required
Values: "AME Payments" "Citizen Income" "Citizen Information" "Document Repository Services" "Integration" "Legacy Bridge" "Notifications Platform" "Personal Independence Payment" "Reference Data Service" "Retirement, Bereavement & Care" "Common Capabilities" "Other"
Examples: "Integration"
categories string[] required
Examples: ["Address"]
minLength=1maxLength=3
visibility string required

The scope of visibility for the API, either Public (visible to all) or Internal (visible to dwp only)

Values: "Internal" "Public"
Examples: "Internal"
lifecycle string required
Values: "In Development" "Pre-Prod" "Prod" "Deprecated" "Removed"
Examples: "In Development"
profile string required
Values: "Strategic" "Transitional" "Legacy"
Examples: "Strategic"
access string required

The availability of the API

Values: "Open" "Closed"
Examples: "Open"
searchTags string required

Tags to label the asset in order to increase discoverability. Minimum of 3 in CSV format.

Examples: "tag1, tag2, tag3"
pattern=^([^,]+(,|$)){3,}$
technical_documentation object

Allows you to provide paths to technical documentation to be published to the portal.

Examples: {"oas_path":"../oas/pet-store.yaml"}
1 nested properties
oas_path string required

Path to the technical documentation, relative to the current working directory.

pattern=((?:[^/]*/)*)(?=\.(yaml|yml))
relatedAssets string[]

A list of other assets that are related to the asset being published. Must match the Asset ID on the related asset's business documentation page on the portal at https://gitlab.com/dwp/integration/api-exchange/exchange-content/-/tree/main/output/dwp/portal/workspaces/primary/content/_catalogueEntries.

Examples

{
  "description": "This is an example service",
  "primaryContact": {
    "emailAddress": "[email protected]"
  },
  "technical_documentation": {
    "oas_path": "../oas/path-to-spec.yml"
  },
  "filters": {
    "asset_type": "REST API",
    "owner": "Integration",
    "categories": [
      "Address"
    ],
    "visibility": "Internal",
    "lifecycle": "Pre-Prod",
    "profile": "Transitional",
    "access": "Closed"
  },
  "searchTags": "test1,test2,test3"
}