We provide a full OpenAPI schema here .
You define the API endpoint yourself, based on how you expose the API to the world.
Phaset provides several integration endpoints:
Purpose Method Endpoint Records POST /integration/record/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}Standards POST /integration/standards/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}Events POST /integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}Baselines GET /integration/baselines/{ORG_ID}/{BASELINE_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
For all timestamps the required format is the Unix timestamp (10 or 13 digits as a string).
The following is a relatively comprehensive example:
"name": "Test Component",
"repo": "https://github.com/my_org/test_component",
"description": "A test component",
"lifecycleStage": "development",
"dataSensitivity": "internal",
"businessCriticality": "high",
"deploymentModel": "public_cloud",
"sourcingModel": "custom"
"description": "Service availability",
"url": "https://example.com",
"schemaPath": "/schema/test.json"
"description": "A description here",
} ' https://api.your_company.cloud/integration/record/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Description spec.repoRepository link (e.g., https://github.com/my_org/my_repo) spec.nameName of the component
Field Type Options/Notes spec.descriptionString Component description (max 1500 characters) spec.kindEnum service, api, component, cots, product, external, otherspec.lifecycleStageEnum concept, planning, development, testing, production, maintenance, deprecated, retiredspec.versionString Version string (e.g., “1.0.0”) spec.groupString 8-character group ID spec.systemString 8-character system ID spec.domainString 8-character domain ID spec.dataSensitivityEnum public, internal, secret, otherspec.businessCriticalityEnum critical, high, medium, low, auxiliaryspec.sourcingModelEnum cots, modified_cots, open_source, custom, outsourced, legacyspec.deploymentModelEnum onpremises, private_cloud, public_cloud, hybrid_cloud, multi_cloud, edge, saas
Field Type Constraints Description contactsArray Max 3 items Each contact requires email, optional relation baselineObject - Object with id field referencing a Baseline tagsArray Max 5, each max 20 chars URL-safe strings dependenciesArray - Requires target (10-char Record ID), optional description (max 300 chars) and criticality sloArray Max 20 items Requires title, description, type, target, period (1-365 days) apiArray Max 20 items Requires name, optional schemaPath (absolute URL) metadataObject Max 500 chars per value Custom string key-value pairs linksArray Max 20 items Requires url, title, optional icon
The input is a StandardLint result which you get by running StandardLint, an open source Node.js package. For the standards check to run and results to be sent, the Baseline connected to the Record will be fetched and used. If one is not defined, the default Baseline will be used.
Please see the StandardLint documentation for more details.
Before running standards checks, you can retrieve your Baseline configuration:
https://api.your_company.cloud/integration/baselines/{ORG_ID}/{BASELINE_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
This returns a configuration file that can be used with StandardLint.
A call to upload standards results might look like this:
"message": "Some message",
} ' https://api.your_company.cloud/integration/standards/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Type Description passesNumber Number of passing checks warningsNumber Number of warnings failuresNumber Number of failures resultsArray Array of result objects (see below)
Result Object Fields:
Field Type Description messageString Description of the check result nameString Name of the check pathString Path to the checked file statusEnum One of: pass, warning, failure
All event metrics are sent to the same endpoint: POST /integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
The timestamp can be omitted, in which case the current system time will be used.
"commitSha": "cf1d3df5ea4373e69d8adc3808e9f8ce23b61360",
"timestamp": "1732802071"
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "change" commitSha✓ String Git commit SHA timestamp- String Unix timestamp (defaults to current time if omitted)
The timestamp can be omitted, in which case the current system time will be used.
"commitSha": "cf1d3df5ea4373e69d8adc3808e9f8ce23b61360"
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "deployment" commitSha✓ String Git commit SHA
This tracks the issue being opened.
"event": "incident-opened",
"createdAt": "1732718640"
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "incident-opened" id✓ String Incident identifier createdAt✓ String Unix timestamp when incident was created
"event": "incident-resolved",
"createdAt": "1732718640",
"resolvedAt": "1732718800"
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "incident-resolved" id✓ String Incident identifier createdAt✓ String Unix timestamp when incident was created resolvedAt✓ String Unix timestamp when incident was resolved
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "comment"
"event": "review-approved",
"createdAt": "1732802071",
"submittedAt": "1733000000"
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "review-approved" createdAt- String Unix timestamp when review was created submittedAt- String Unix timestamp when review was submitted
"event": "review-changes",
"createdAt": "1732802071",
"submittedAt": "1733000000"
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "review-changes" createdAt- String Unix timestamp when review was created submittedAt- String Unix timestamp when changes were requested
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "pr-opened" additions- Number Number of lines added changedFiles- Number Number of files changed deletions- Number Number of lines deleted
"createdAt": "1732802071",
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "pr-closed" createdAt- String Unix timestamp when PR was created closedAt- String Unix timestamp when PR was closed
"createdAt": "1732802071",
} ' https://api.your_company.cloud/integration/event/{ORG_ID}/{RECORD_ID}/{WEBHOOK_TOKEN}
Field Required Type Description event✓ String Must be "pr-merged" createdAt- String Unix timestamp when PR was created mergedAt- String Unix timestamp when PR was merged