API Governance Experience API

1.0.0

Overview

Statistics
11 Operations
0 Skills
Platform Category
API Governance specification crate update modify profiles, and query governance status

Servers

  • https://anypoint.mulesoft.com/governance/xapi/api/v1 Anypoint URL
  • https://eu1.anypoint.mulesoft.com/governance/xapi/api/v1/ Regional Anypoint URL
  • https://{region}.platform.mulesoft.com/governance/xapi/api/v1/ Regional Anypoint URL

Get Report Summary getReportSummary

GET

Try it out

Query Parameters
Custom Query Parameters
Custom Headers
Returns the conformance/validation report for an API or asset. By default returns
status for all rulesets applied to the asset; optionally filter to specific rulesets.

Query Parameters

urn *: string(uri)
ruleset: array

Response

json
Validation report retrieved successfully.
urn *: string(uri)
URN of the validated API or asset.
status: string
aspects *: array
Validation results grouped by aspect.
Examples
default
{ "summary": "Example validation report for an API", "value": { "urn": "urn:api:7b976d8f-b47c-4cf7-9ca9-913a74ab81ee:my-api:v1", "status": "Conformant", "aspects": [ { "aspect": { "id": "anypoint.specification", "label": "Specification" }, "status": "Conformant", "rulesets": [ { "reported": "2024-03-15T10:30:00Z", "ruleset": { "groupId": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "assetId": "best-practices", "version": "1.0.0", "name": "Best Practices" }, "status": "Conformant", "rules": [] } ] } ] } }

Get Organization Summary getOrganizationSummary

GET

Try it out

Query Parameters
Custom Query Parameters
Custom Headers
Obtains the global statistics for the organization.

Query Parameters

organization *: string

Response

json
Values returned correctly.
org *: string(uuid)
The organization identifier.
totalGoverned *: integer
Total governed APIs.
profiles *: any
Profile statistics.
targets *: any
Target statistics.
failed *: any
Failed statistics by severity.
assets *: any
Asset statistics.
Examples
default
{ "summary": "Example organization summary (from public-api org_summary_response.json)", "value": { "assets": { "total": 17, "types": [ { "scope": "rest-api", "total": 14 }, { "scope": "async-api", "total": 3 } ] }, "failed": { "high": 10, "low": 2, "medium": 1, "total": 13 }, "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "profiles": { "negative": 6, "positive": 1, "total": 7 }, "targets": { "negative": 13, "positive": 4, "total": 17 }, "totalGoverned": 17 } }

Get Organization Profile Summaries getOrganizationProfileSummaries

GET

Try it out

Query Parameters
Custom Query Parameters
Custom Headers
Returns the organization's summary by profile (paginated). In governance you create
profiles to validate different sets of assets; a profile matches a filter criteria
(what APIs to validate) with a set of rulesets. Each profile summary indicates
the status of that profile—how many APIs are conformant, how many are
non-conformant, and how many have failed to be validated.

Query Parameters

organization *: string

Response

json
Values returned correctly.
org *: string(uuid)
The organization identifier.
profiles *: array
One summary per profile for the organization.
pageData *: any
Pagination metadata for this page of profile summaries.
Examples
default
{ "summary": "Example organization profile summaries (paginated)", "value": { "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "profiles": [ { "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "id": { "id": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "label": "Default API profile" }, "tags": [], "status": "LIVE", "total": 12, "pass": 9, "fail": 2, "time": "2024-03-15T10:30:00Z" }, { "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "id": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "label": "Strict governance profile" }, "tags": [], "status": "LIVE", "total": 5, "pass": 3, "fail": 1, "time": "2024-03-15T09:00:00Z" } ], "pageData": { "total": 2, "numPage": 0, "firstIndex": 0, "lastIndex": 1 } } }

Get Organization Target Summaries getOrganizationTargetSummaries

GET

Try it out

Query Parameters
Custom Query Parameters
Custom Headers
Returns the organization's summary by target (paginated). One summary per API
target—each API validated against the rulesets applied by profiles (conformant,
non-conformant, or failed to validate).

Query Parameters

organization *: string

Response

json
Values returned correctly.
org *: string(uuid)
The organization identifier.
targets *: array
One summary per API target for the organization.
pageData *: any
Pagination metadata for this page of target summaries.
Examples
default
{ "summary": "Example organization target summaries (paginated)", "value": { "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "targets": [ { "error": 0, "fail": 0, "id": { "id": "gav://7b976d8f-b47c-4cf7-9ca9-913a74ab81ee/newapi-1/2.0.0", "label": "newApi-1" }, "org": { "id": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "label": "mule" }, "owner": { "id": "67766353-6d44-4604-98be-9878e3dec0de", "label": "user" }, "pass": 1, "targetType": "rest-api", "time": "1970-01-01T00:00:00Z", "total": 1, "version": "2.0.0" }, { "error": 0, "fail": 1, "id": { "id": "gav://7b976d8f-b47c-4cf7-9ca9-913a74ab81ee/tagged/1.0.0", "label": "tagged" }, "org": { "id": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "label": "mule" }, "owner": { "id": "67766353-6d44-4604-98be-9878e3dec0de", "label": "user" }, "pass": 5, "targetType": "rest-api", "time": "2022-10-04T14:33:09Z", "total": 6, "version": "1.0.0" } ], "pageData": { "total": 2, "numPage": 0, "firstIndex": 0, "lastIndex": 1 } } }

Get Profile Summary getProfileSummary

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
Returns the summary for a single profile (conformant, non-conformant, and failed validation counts).

Path Parameters

profileId *: string

Query Parameters

organization *: string

Response

json
Values returned correctly.
org *: string(uuid)
The organization identifier.
id *: any
The profile identifier (id and display label).
tags *: array
Tags associated with the profile (reserved for future use).
status *: string
Profile lifecycle status (LIVE, DRAFT, or MANAGED).
total *: integer
Total number of APIs validated for this profile.
pass *: integer
Number of APIs that are conformant (passed validation).
fail *: integer
Number of APIs that are non-conformant (failed validation).
time *: string(date-time)
Timestamp of the last validation for this profile.
Examples
default
{ "summary": "Example profile summary", "value": { "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "id": { "id": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "label": "Default API profile" }, "tags": [], "status": "LIVE", "total": 12, "pass": 9, "fail": 2, "time": "2024-03-15T10:30:00Z" } }

Get Profile Target Summaries getProfileTargetSummaries

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
Returns the list of API targets (summaries) validated by the given profile.

Path Parameters

profileId *: string

Query Parameters

organization *: string

Response

json
Values returned correctly.
profileId *: string(uuid)
The profile UUID.
targets *: array
The target list (one summary per API validated by this profile).
Examples
default
{ "summary": "Example profile target summary", "value": { "profileId": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "targets": [ { "error": 0, "fail": 0, "id": { "id": "gav://7b976d8f-b47c-4cf7-9ca9-913a74ab81ee/newapi-1/2.0.0", "label": "newApi-1" }, "org": { "id": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "label": "mule" }, "owner": { "id": "67766353-6d44-4604-98be-9878e3dec0de", "label": "user" }, "pass": 1, "targetType": "rest-api", "time": "1970-01-01T00:00:00Z", "total": 1, "version": "2.0.0" }, { "error": 0, "fail": 1, "id": { "id": "gav://7b976d8f-b47c-4cf7-9ca9-913a74ab81ee/tagged/1.0.0", "label": "tagged" }, "org": { "id": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "label": "mule" }, "owner": { "id": "67766353-6d44-4604-98be-9878e3dec0de", "label": "user" }, "pass": 5, "targetType": "rest-api", "time": "2022-10-04T14:33:09Z", "total": 6, "version": "1.0.0" } ] } }

Get Applied Rulesets getAppliedRulesets

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
Returns all rulesets applied to a specific asset (by group, assetId, and version) across
profiles. You can filter by API type, organizations, and whether to include only
assets created by the user.

Path Parameters

group *: string
The group ID (e.g. organization or group UUID) for the asset.
assetId *: string
The asset ID.
assetVersion *: string
The asset version.

Query Parameters

type: string
Limit to one supported API type.
orgs: string(uuid)
Filter by organization UUID(s); can check multiple organizations (e.g. comma-separated UUIDs) as long as you have access to the assets.
myassets: boolean
If true, only assets created by the user; otherwise all assets the user has read access to.

Response

json
Applied rulesets retrieved successfully.
items: array
Array items
Examples
default
{ "summary": "Example applied rulesets for an asset", "value": [ { "id": { "id": "gav://56e6f7c7-d59d-4ab1-845d-255d008049ad/best-practices/1.0.0", "label": "Best Practices" }, "version": "1.0.0", "owner": { "id": "67766353-6d44-4604-98be-9878e3dec0de", "label": "user" }, "org": { "id": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "label": "mule" }, "targetType": "rest-api", "lifecycleState": "published", "conforms": true, "tags": [], "categories": [] }, { "id": { "id": "gav://56e6f7c7-d59d-4ab1-845d-255d008049ad/oas-rules/2.0.0", "label": "OAS Rules" }, "version": "2.0.0", "owner": { "id": "67766353-6d44-4604-98be-9878e3dec0de", "label": "user" }, "org": { "id": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "label": "mule" }, "targetType": "rest-api", "lifecycleState": "published", "conforms": false, "tags": [], "categories": [] } ] }

List Profiles listProfiles

GET

Try it out

Query Parameters
Custom Query Parameters
Custom Headers
Lists the definition of profiles for the organization. Returns all profiles the user has access to, optionally filtered by organization.

Query Parameters

organization *: string

Response

json
List of profiles returned successfully.
items: array
Array items
Examples
default
{ "summary": "Example list of profiles for an organization", "value": [ { "id": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "version": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Default API profile", "description": "Governance profile for default APIs", "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "filter": "scope:rest-api", "rulesets": [], "created": "2024-01-15T10:00:00Z", "updated": "2024-03-15T10:30:00Z" }, { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "version": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "name": "Strict governance", "description": "Strict rules for production APIs", "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "filter": "status:published", "rulesets": [ { "etag": "etag-1.0.0", "uri": "gav://56e6f7c7-d59d-4ab1-845d-255d008049ad/best-practices/1.0.0", "version": "1.0.0" } ], "created": "2024-02-01T09:00:00Z", "updated": "2024-03-10T14:00:00Z" } ] }

Create Profile createProfile

POST

Try it out

Query Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Creates a new profile for the organization using the supplied definition.

Query Parameters

organization *: string

Request Body *

json
name *: string
Profile name.
description: string
Profile description.
org *: string(uuid)
Organization ID to which the profile applies.
filter *: string
notificationConfig *: any
Notification configuration
denying *: array
Not used.
allowing *: array
Not used.
rulesets *: array
Rulesets applied to filtered APIs (GAV identifiers).
Examples
default
{ "value": { "name": "Default API profile", "description": "Governance profile for default APIs", "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "filter": "scope:rest-api", "rulesets": [ "gav://68ef9520-24e9-4cf2-b2f5-620025690913/mule-api-management-best-practices/latest", "gav://68ef9520-24e9-4cf2-b2f5-620025690913/another-rule/latest" ], "allowing": [], "denying": [], "notificationConfig": { "enabled": false, "notifications": [ { "enabled": false, "condition": "OnFailure", "recipients": [ { "contactType": "Others", "notificationType": "Email", "value": "publisher@example.com", "label": "API Publisher" } ] } ] } } }

Response

json
Profile created successfully.
id *: string(uuid)
Profile ID.
version *: string(uuid)
Profile version UUID.
name *: string
Profile name.
description: string
Profile description.
org *: string(uuid)
Organization ID to which the profile applies.
filter *: string
notificationConfig: any
Notification configuration (optional).
denying: array
Not used.
allowing: array
Not used.
rulesets *: array
Rulesets applied to filtered APIs (GAV identifiers).
created: string(date-time)
Creation date.
updated: string(date-time)
Last update date.
Examples
default
{ "summary": "Example profile as returned after creation (201)", "value": { "id": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "version": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Default API profile", "description": "Governance profile for default APIs", "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "filter": "scope:rest-api", "rulesets": [ { "etag": "etag-1.0.0", "uri": "gav://56e6f7c7-d59d-4ab1-845d-255d008049ad/best-practices/1.0.0", "version": "1.0.0" } ], "created": "2024-01-15T10:00:00Z", "updated": "2024-03-15T10:30:00Z" } }

Get Profile getProfile

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Returns the definition of a single profile by its ID. Response includes Last-Modified (timestamp) and ETag (profile version UUID). Use the ETag value in the If-Match header when updating the profile with PUT.

Path Parameters

profileId *: string

Response

json
Profile returned successfully.
id *: string(uuid)
Profile ID.
version *: string(uuid)
Profile version UUID.
name *: string
Profile name.
description: string
Profile description.
org *: string(uuid)
Organization ID to which the profile applies.
filter *: string
notificationConfig: any
Notification configuration (optional).
denying: array
Not used.
allowing: array
Not used.
rulesets *: array
Rulesets applied to filtered APIs (GAV identifiers).
created: string(date-time)
Creation date.
updated: string(date-time)
Last update date.
Examples
default
{ "summary": "Example profile as returned after creation (201)", "value": { "id": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "version": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Default API profile", "description": "Governance profile for default APIs", "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "filter": "scope:rest-api", "rulesets": [ { "etag": "etag-1.0.0", "uri": "gav://56e6f7c7-d59d-4ab1-845d-255d008049ad/best-practices/1.0.0", "version": "1.0.0" } ], "created": "2024-01-15T10:00:00Z", "updated": "2024-03-15T10:30:00Z" } }

Update Profile updateProfile

PUT

Try it out

Path Parameters
Header Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Updates an existing profile. The update is applied only if the If-Match header matches the current profile version (ETag). Request body uses ProfileCreation with rulesets as RulesetCreation; response is the same as GET (Profile with rulesets as Ruleset).

Path Parameters

profileId *: string

Header Parameters

If-Match *: string(uuid)
Profile version (UUID). Must match the current profile ETag for the update to succeed.

Request Body *

json
name *: string
Profile name.
description: string
Profile description.
org *: string(uuid)
Organization ID to which the profile applies.
filter *: string
notificationConfig *: any
Notification configuration
denying *: array
Not used.
allowing *: array
Not used.
rulesets *: array
Rulesets applied to filtered APIs (GAV identifiers).
Examples
default
{ "value": { "name": "Default API profile", "description": "Governance profile for default APIs", "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "filter": "scope:rest-api", "rulesets": [ "gav://68ef9520-24e9-4cf2-b2f5-620025690913/mule-api-management-best-practices/latest", "gav://68ef9520-24e9-4cf2-b2f5-620025690913/another-rule/latest" ], "allowing": [], "denying": [], "notificationConfig": { "enabled": false, "notifications": [ { "enabled": false, "condition": "OnFailure", "recipients": [ { "contactType": "Others", "notificationType": "Email", "value": "publisher@example.com", "label": "API Publisher" } ] } ] } } }

Response

json
Profile updated successfully. Same shape as GET profile (Profile with Ruleset items).
id *: string(uuid)
Profile ID.
version *: string(uuid)
Profile version UUID.
name *: string
Profile name.
description: string
Profile description.
org *: string(uuid)
Organization ID to which the profile applies.
filter *: string
notificationConfig: any
Notification configuration (optional).
denying: array
Not used.
allowing: array
Not used.
rulesets *: array
Rulesets applied to filtered APIs (GAV identifiers).
created: string(date-time)
Creation date.
updated: string(date-time)
Last update date.
Examples
default
{ "summary": "Example profile as returned after creation (201)", "value": { "id": "56e6f7c7-d59d-4ab1-845d-255d008049ad", "version": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Default API profile", "description": "Governance profile for default APIs", "org": "7b976d8f-b47c-4cf7-9ca9-913a74ab81ee", "filter": "scope:rest-api", "rulesets": [ { "etag": "etag-1.0.0", "uri": "gav://56e6f7c7-d59d-4ab1-845d-255d008049ad/best-practices/1.0.0", "version": "1.0.0" } ], "created": "2024-01-15T10:00:00Z", "updated": "2024-03-15T10:30:00Z" } }