New product
Import the first release
Creates the product, quarantined artifact, and initial release draft together.
slew github import owner/repositorySlew · developer platform
Publish products from the CLI, MCP, REST API, or GitHub App.
Getting started
Create a credential once, connect GitHub once, and then let the CLI or an agent do the repeatable work.
Install the Slew GitHub App from developer integrations and select the repositories Slew may read.
Create an organization credential with the smallest scopes your workflow needs. Copy it when shown; Slew stores only a digest.
Use the same bearer credential with the CLI, MCP server, or REST API.
Importing creates private drafts. Publishing stays separate until scan evidence and seller authority are explicit.
slew auth login --host https://slew.com
slew github connections
slew github repositories
slew github import owner/repository --version 1.0.0 --output idSecurity
API credentials are organization-bound, independently revocable, optionally expiring, and cannot impersonate a different actor or organization.
Authorization header
Authorization: Bearer YOUR_SLEW_API_CREDENTIALTreat a credential like a password. Prefer environment variables in CI, never put it in a repository, screenshot, prompt, or product artifact.
| Scope | Allows |
|---|---|
projects:read | Inspect products, releases, deliverables, and scan status. |
projects:write | Create and edit product and release drafts. |
projects:publish | Publish an externally visible, immutable release. |
github:read | List workspace-granted GitHub repositories for an API credential. |
curl --request GET 'https://slew.com/v1/integrations/me' \
--header 'Authorization: Bearer YOUR_SLEW_API_CREDENTIAL'Command line
The dependency-free Python client works for a person at a terminal and for deterministic automation. Tables are the default; add --json or --output id when another tool consumes the result.
Until registry distribution is enabled, install it from an authorized source checkout.
uv tool install --editable ./cli
slew --version
slew auth login --host https://slew.com| Command | Purpose |
|---|---|
slew auth login | Verify and securely save an organization credential. |
slew products list | List product projects owned by the organization. |
slew github import | Create a product and initial release from a repository ref. |
slew github release | Create the next release of an existing product from GitHub. |
slew deliverables list | Inspect quarantine, scan status, and eligible evidence. |
slew releases publish | Explicitly attest and publish an immutable release. |
slew github release PRODUCT_ID owner/repository \
--version 1.1.0 \
--ref v1.1.0 \
--parent-release PREVIOUS_RELEASE_ID \
--jsonslew deliverables list
slew releases publish RELEASE_ID \
--submission ARTIFACT_SUBMISSION_ID \
--terms-name 'Standard commercial license' \
--terms-file ./LICENSE.txt \
--attestAgents
Connect an MCP-capable agent to a small set of high-level tools. The server is stateless Streamable HTTP and uses the same bearer credential and scopes as REST.
{
"mcpServers": {
"slew": {
"type": "http",
"url": "https://slew.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SLEW_API_CREDENTIAL"
}
}
}
}MCP client configuration formats and environment-variable substitution differ. Use your client's secure secret mechanism instead of committing the credential above.
| Tool | Purpose |
|---|---|
list_github_repository_grants | List only the credential organization’s workspace grants; use each grant id as grant_id with a ref. |
create_project_from_github | Import a granted repository ref and create the initial product release. |
create_release_from_github | Import a granted repository ref into an existing product. |
list_projects / get_project | Inspect product and release state. |
create_project / create_release | Create private drafts without publishing. |
list_deliverables | Inspect uploaded files and scan evidence. |
publish_release | Publish with terms, evidence, and seller attestation. |
Recommended agent instruction
Create and inspect drafts freely. Ask before calling publish_release.HTTP
Use REST for custom integrations, CI systems, and clients that need direct control of the underlying resources. JSON request and response contracts are published through OpenAPI.
| Resource | Method | Path |
|---|---|---|
| Credential identity | GET | /v1/integrations/me |
| GitHub installation connections (global; connector-only) | GET | /v1/integrations/organizations/{organization_id}/github/connections |
| Workspace repository grants (organization publishing access) | GET | /v1/integrations/organizations/{organization_id}/github/repository-grants |
| Product drafts | GET · POST | /v1/publishing/organizations/{organization_id}/products |
| Deliverables | GET | /v1/artifacts/organizations/{organization_id}/submissions |
| Initial GitHub import (grant_id + ref) | POST | /v1/automation/organizations/{organization_id}/projects/from-github |
| New version from GitHub (grant_id + ref) | POST | /v1/automation/organizations/{organization_id}/projects/{product_id}/releases/from-github |
POST /v1/automation/organizations/{organization_id}/projects/from-github HTTP/1.1
Host: slew.com
Authorization: Bearer YOUR_SLEW_API_CREDENTIAL
Idempotency-Key: 7dd48599-f9e8-48be-8caa-c4c86cb06752
Content-Type: application/jsonReuse an idempotency key only when retrying the exact same operation. Slew pins the resolved commit and resumes partial work instead of creating duplicates.
Source imports
Slew uses a platform-owned GitHub App with read-only metadata and contents access. Installation tokens are minted on demand and expire after one hour.
New product
Creates the product, quarantined artifact, and initial release draft together.
slew github import owner/repositoryExisting product
Associates a new exact ref and release lineage with an existing product.
slew github release PRODUCT_ID owner/repositoryRelease safety
A release becomes public only when every required decision is explicit.
Every deliverable is identified by a SHA-256 digest and immutable scan evidence.
Passed evidence—or disclosed findings—is required for every published file.
The exact terms text is captured with the release and customer acceptance.
The publishing actor attests to distribution rights for every deliverable.