The Integrations API manages the Registry’s registrations with Git Providers — the OAuth app credentials that allow the Registry to import Skills from GitHub and GitLab on behalf of writers. All endpoints require Admin role. An Integration stores the OAuthDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/org-quicko/skillset/llms.txt
Use this file to discover all available pages before exploring further.
client_id, client_secret, and optional app_slug for one Git Provider app. Writers then create personal Connections against an Integration to grant the Registry access to their repositories.
The
client_secret is write-only. It is accepted on create and update but is never returned in any response — not even to the Admin who set it. If you need to rotate a secret, send a new one via PATCH /api/integrations/:id.Endpoints at a glance
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/integrations | Admin+ | List all Integrations |
| POST | /api/integrations | Admin+ | Create an Integration |
| PATCH | /api/integrations/:id | Admin+ | Update an Integration |
| DELETE | /api/integrations/:id | Admin+ | Delete an Integration |
List Integrations
client_secret is never included.
Response fields
All Integration records. Each entry has:
Create an Integration
Request body
Git Provider name. Must be a recognised provider (
github or gitlab).Human-readable label (max 100 characters). Shown to writers in the Connect flow.
OAuth app client id from the provider’s console.
OAuth app client secret. Stored encrypted; never returned in responses.
Optional note (max 180 characters). Useful when multiple Integrations exist for the same provider.
GitHub App slug (letters, digits, and hyphens only; max 100 characters). Used to build the repository access management URL. Set to
null or omit for providers with no installation step.client_secret) with 201 Created.
Update an Integration
provider cannot be changed after creation. Omitting client_secret leaves the stored secret untouched — you do not need to re-enter the secret to update only the display name. Sending app_slug: null explicitly clears the slug; omitting app_slug leaves whatever is stored.Path parameters
UUID of the Integration to update.
Request body
New display name (max 100 characters).
New description (max 180 characters), or
null to clear it.Updated OAuth client id.
Replacement client secret. Omit to keep the stored one.
Updated app slug, or
null to clear it. Omit to leave unchanged.Error codes
| Code | Status | When |
|---|---|---|
not_found | 404 | No Integration with that id. |
validation_failed | 400 | A field failed validation (e.g. app_slug has invalid characters). |
Delete an Integration
204 No Content on success.
Path parameters
UUID of the Integration to delete.
Error codes
| Code | Status | When |
|---|---|---|
not_found | 404 | No Integration with that id. |
integration_in_use | 409 | One or more Connections still reference this Integration. |