InstallHub
Publisher Profile
A publisher profile is a verified organizational identity required before any package can be submitted to the marketplace. It links your packages to a trusted, identifiable source.
Phase 3 — PENDING This feature is planned but not yet implemented.
Creating a Publisher Profile
POST /api/marketplace/publishers
Authorization: Bearer {token}
{
"displayName": "Acme Corp Engineering",
"slug": "acme-corp", // Unique URL identifier
"website": "https://acmecorp.com",
"contactEmail": "dev@acmecorp.com",
"description": "Enterprise workflow packages for HR, Finance, and Operations.",
"logoUrl": "https://acmecorp.com/logo.png"
}
// Response:
{
"publisherId": "pub-a1b2c3",
"status": "PendingVerification",
"verificationMethod": "DNS",
"verificationRecord": {
"type": "TXT",
"host": "@",
"value": "bizfirstai-verify=a1b2c3d4e5f6"
},
"verificationExpiresAt": "2026-06-01T00:00:00Z"
}
Domain Verification
To earn a verified publisher badge, you must prove ownership of your organization's domain. There are two verification methods:
| Method | How It Works | Time to Verify |
|---|---|---|
| DNS TXT Record | Add a TXT record to your domain with the provided verification token. BizFirstAI checks DNS propagation. | Up to 48 hours (DNS TTL) |
| File Upload | Upload a bizfirstai-verify.txt file to https://yourdomain.com/.well-known/ containing the verification token. | Immediate after upload |
Triggering Verification Check
POST /api/marketplace/publishers/{publisherId}/verify
// Success:
{
"publisherId": "pub-a1b2c3",
"status": "Verified",
"verifiedAt": "2026-05-25T10:00:00Z",
"domain": "acmecorp.com"
}
// Still pending:
{
"status": "PendingVerification",
"message": "DNS TXT record not yet detected. DNS changes can take up to 48 hours to propagate."
}
Publisher Profile Fields
| Field | Required | Constraints | Notes |
|---|---|---|---|
displayName | Yes | Max 100 chars | Shown on all package listings |
slug | Yes | Lowercase, alphanumeric + hyphens, max 50 chars, globally unique | Used in marketplace URLs |
website | Yes (for Certified) | Valid HTTPS URL | Must match verified domain |
contactEmail | Yes | Valid email | Used for review correspondence |
description | No | Max 500 chars | Shown on publisher profile page |
logoUrl | No | HTTPS URL, image must be 128×128 or 256×256 px | Shown next to package listings |
Publisher Status Values
| Status | Can Submit Packages? | Description |
|---|---|---|
PendingVerification | No | Awaiting domain verification |
Verified | Yes | Domain verified — can submit Community packages |
Suspended | No | Account suspended — contact support |
Unverified Publishers
Even without domain verification, your publisher profile is created in
PendingVerification state. You can prepare packages but cannot submit them until verification completes.
Getting Your Publisher Profile
GET /api/marketplace/publishers/{publisherId}
{
"publisherId": "pub-a1b2c3",
"displayName": "Acme Corp Engineering",
"slug": "acme-corp",
"status": "Verified",
"domain": "acmecorp.com",
"verifiedAt": "2026-05-25T10:00:00Z",
"packageCount": 12,
"totalInstalls": 847,
"averageRating": 4.7
}