{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"entry_sha256":"66aaa57dd8006dbcb19af70272eab363579423de3ac9d1d4785cbf2912f83084","entry":{"id":"microsoft/publisher-verification","name":"Microsoft Entra publisher verification","vendor":"Microsoft","summary":"Get the blue \"verified\" badge on your app's Microsoft consent screen by linking a verified Microsoft AI Cloud Partner Program (MAICPP, formerly MPN) account to your Entra app registration. Without it, users in other organisations may be blocked from consenting to a newer multitenant app.","aliases":["verified publisher","MPN publisher verification","Microsoft Partner Network verification","Cloud Partner Program verification"],"category":"identity","group":"B","homepage":"https://learn.microsoft.com/en-us/entra/identity-platform/publisher-verification-overview","docs":["https://learn.microsoft.com/en-us/entra/identity-platform/publisher-verification-overview","https://learn.microsoft.com/en-us/entra/identity-platform/mark-app-as-publisher-verified","https://learn.microsoft.com/en-us/entra/identity-platform/troubleshoot-publisher-verification"],"status":"researched","last_verified":null,"last_researched":"2026-10-25","sources":[{"id":"overview","url":"https://learn.microsoft.com/en-us/entra/identity-platform/publisher-verification-overview","title":"Publisher verification overview","accessed":"2026-10-25","supports":"All requirements (verified CPP Partner Global Account, not a location ID; app registered with a work or school account in a tenant associated with the PGA; publisher domain set and not onmicrosoft.com; email domain match; roles in Entra and Partner Center; MFA; accept identity platform terms), \"verified in minutes\" once prerequisites met, no cost, risk-based step-up consent blocking for unverified apps registered after 8 November 2020, not supported in national clouds or B2C.","kind":"official"},{"id":"mark","url":"https://learn.microsoft.com/en-us/entra/identity-platform/mark-app-as-publisher-verified","title":"Mark an app as publisher verified","accessed":"2026-10-25","supports":"Step-by-step process in Branding & properties, \"may take a few minutes\", testing with prompt=consent.","kind":"official"},{"id":"troubleshoot","url":"https://learn.microsoft.com/en-us/entra/identity-platform/troubleshoot-publisher-verification","title":"Troubleshoot publisher verification","accessed":"2026-10-25","supports":"Error codes and fixes (MPNAccountNotFoundOrNoAccess, MPNGlobalAccountNotFound, MPNAccountNotVetted, NoPublisherDomainOnApplication, PublisherDomainMismatch, NotAuthorizedToVerifyPublisher, MSANotSupported, InteractionRequired, UserUnableToAddPublisher, UnableToAddPublisher); Graph setVerifiedPublisher API; adding a tenant to the partner account grants its Global Admins Partner Center Global Admin.","kind":"official"},{"id":"publisher-domain","url":"https://learn.microsoft.com/en-us/entra/identity-platform/howto-configure-publisher-domain","title":"Configure an app's publisher domain","accessed":"2026-10-25","supports":"Setting a publisher domain by choosing a tenant-verified domain or hosting /.well-known/microsoft-identity-association.json; content-type requirement; publisher domain cannot be set by API or PowerShell; consent-prompt behaviour by registration date.","kind":"official"},{"id":"enroll","url":"https://learn.microsoft.com/en-us/partner-center/enroll/partner-center-enroll-overview","title":"How to enroll in partner program (Partner Center)","accessed":"2026-10-25","supports":"Enrollment steps; must use a work account (not personal Azure free/trial accounts, Azure Government tenants or Microsoft accounts); enrollee must be Global admin and able to sign agreements and produce legal documents; Registration ID required in some countries; enrollment active only once vetting is Authorized; creates a Partner Global Account and a Partner Location Account.","kind":"official"},{"id":"verification","url":"https://learn.microsoft.com/en-us/partner-center/enroll/understand-the-verification-process","title":"Understand the verification process in Partner Center","accessed":"2026-10-25","supports":"Checks performed (email, identity with government-issued document, employment via domain documents, business registration documents, possible additional verification); usually three to five business days; only the primary contact gets emails; statuses; appeals; re-verification when legal name, address or primary contact change.","kind":"official"},{"id":"api-terms","url":"https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use","title":"Terms of Use - Microsoft APIs","accessed":"2026-10-25","supports":"Microsoft may suspend or terminate API access at any time; registration must be accurate.","kind":"official"},{"id":"tc-stuck-40-days","url":"https://techcommunity.microsoft.com/discussions/partnercomplianceforum/partner-center-business-verification-stuck-for-40-days-no-way-to-contact-support/4540835","title":"Partner Center business verification stuck for 40 days (Microsoft Tech Community)","accessed":"2026-10-25","supports":"People report business verification stalling for weeks beyond the stated review time, with no working support route.","kind":"community"},{"id":"tc-legal-info-none","url":"https://techcommunity.microsoft.com/discussions/partnercomplianceforum/verified-by-email-but-legal-info-still-shows-verification-status-none/4563258","title":"Verified by email but Legal info still shows verification status None (Microsoft Tech Community)","accessed":"2026-10-25","supports":"People report Legal info showing no verification status even after email confirmation, which blocks publisher verification.","kind":"community"},{"id":"tc-sole-trader","url":"https://techcommunity.microsoft.com/t5/partner-compliance-verification/how-to-appeal-a-rejected-partner-profile-in-the-verification/td-p/3834683","title":"How to appeal a rejected partner profile in the verification (Microsoft Tech Community)","accessed":"2026-10-25","supports":"People report sole traders using a trading name as the publisher name are rejected.","kind":"community"},{"id":"qa-employment","url":"https://learn.microsoft.com/en-us/answers/questions/2263816/employment-verification-failed","title":"Employment verification failed (Microsoft Q&A)","accessed":"2026-10-25","supports":"People report employment verification failing on \"domain mismatch\" and being asked for a domain invoice.","kind":"community"}],"allowed_domains":["entra.microsoft.com","partner.microsoft.com","login.microsoftonline.com"],"account_model":{"summary":"Two accounts must line up: the Entra tenant that owns the app registration, and a Microsoft AI Cloud Partner Program account in Partner Center whose Partner Global Account (PGA) is associated with that tenant. The company's legal identity is checked on the partner side; the domain ties the two together.","accounts":[{"name":"Microsoft Entra tenant","kind":"organisation","owned_by":"the company","required":true,"note":"The app must be registered here with a work or school account, with a publisher domain that is not *.onmicrosoft.com. Not supported in Azure AD B2C, email-verified or national-cloud tenants."},{"name":"App registration","kind":"project","parent":"Microsoft Entra tenant","required":true},{"name":"Microsoft AI Cloud Partner Program account (Partner Global Account)","kind":"organisation","owned_by":"the company (legal entity)","parent":"Microsoft Entra tenant","required":true,"note":"Joining creates a Partner Global Account and a Partner Location Account. Only the Partner Global Account's Partner One ID works for publisher verification."},{"name":"Primary contact","kind":"personal","owned_by":"an employee of the company","parent":"Microsoft AI Cloud Partner Program account (Partner Global Account)","required":true,"note":"Must use a business email on the company domain; receives all verification emails."}],"notes":["The person who presses \"Verify and save\" needs Application Administrator or Cloud Application Administrator in Entra AND Partner Admin (CPP) or Accounts Admin in Partner Center, and must have done MFA in the same session.","Adding a tenant to the partner account gives all of that tenant's Global Administrators Global Admin on the Partner Center account."]},"prerequisites":[{"entry":"microsoft/entra-app-registration","note":"The app must already be registered in a work or school tenant (not with a personal Microsoft account)."},{"need":"A registered legal business (company documents), with an authorised signatory","note":"People report sole traders using a trading name are rejected [to verify for your country]."},{"need":"A company domain you control, with working email on it"}],"identity_requires":["legal_name","registered_address","country","domain","domain_email","contact_name"],"have_ready":[{"kind":"domain_email","description":"A business email address on your company domain for the Partner Center primary contact (not Gmail/Outlook.com)","why":"Email verification uses it, and its domain must match the app's publisher domain or a DNS-verified domain in the tenant.","needed_for":["mcpp-enroll","mcpp-verification","verify"],"auto_check":"domain_email_mx","source":"verification"},{"kind":"company_documents","description":"Formation documents (certificate or articles of incorporation, business licence or registration) showing exactly the legal name and address you enter","why":"Business verification checks you are legally registered at the stated address, without abbreviations or spelling differences.","needed_for":["mcpp-verification"],"auto_check":"none","source":"verification"},{"kind":"other","description":"Domain registration documents from your registrar showing business name, address, domain and purchase/expiry dates","why":"Employment verification asks for current domain documentation that matches the partner account.","needed_for":["mcpp-verification"],"auto_check":"none","source":"verification"},{"kind":"government_id","description":"Government-issued photo ID for at least one user, with the same name as their Partner Center user","why":"Identity verification confirms at least one user's identity.","needed_for":["mcpp-verification"],"auto_check":"none","source":"verification"},{"kind":"tax_id","description":"Company registration ID (for example a company number), if your country requires one","why":"Some countries or regions require a Registration ID at enrollment.","needed_for":["mcpp-enroll"],"auto_check":"none","source":"enroll"},{"kind":"phone_for_2fa","description":"An MFA method (authenticator app or phone) on the admin account","why":"Publisher verification fails with InteractionRequired unless MFA is required and performed in the session.","needed_for":["verify"],"auto_check":"none","source":"troubleshoot"}],"steps":[{"id":"custom-domain","title":"Add and verify your company domain in the Entra tenant","summary":"Add your company domain (the one your partner email uses) as a custom domain in the tenant and complete its DNS verification. A *.onmicrosoft.com domain cannot be used for publisher verification.","route":"guided","depends_on":[],"gate":"human_submit","url":"https://entra.microsoft.com/","preflight":["domain_has_mx"],"sources":["overview"]},{"id":"publisher-domain","title":"Set the app's publisher domain","summary":"In App registrations > your app > Branding & properties, set Publisher domain. Pick a verified domain of the tenant, or verify a new one by hosting a microsoft-identity-association.json file listing the app's client ID at https://{domain}/.well-known/microsoft-identity-association.json, served as application/json. This cannot be done by API.","route":"guided","depends_on":["custom-domain"],"gate":"human_submit","url":"https://entra.microsoft.com/","recovery":[{"hiccup":"\"Verification of publisher domain failed ... unexpected content type header value.\"","fix":"Serve the JSON file with Content-Type application/json (or application/json; charset=utf-8).","source":"publisher-domain"}],"sources":["publisher-domain"]},{"id":"mcpp-enroll","title":"Join the Microsoft AI Cloud Partner Program","summary":"A Global admin of the tenant goes to Partner Center > join the program, signs in with a work account in that tenant, selects the legal entity, reads and accepts the MAICPP agreement and enrolls. The person must be authorised to sign agreements for the company. If your company already has a partner account, signing in from the primary tenant adds you to it instead.","route":"guided","depends_on":["custom-domain"],"gate":"human_terms","url":"https://partner.microsoft.com/dashboard/account/v3/enrollment/introduction/partnership","recovery":[{"hiccup":"Enrollment rejects a Hotmail/Outlook.com, personal Azure free/trial or Azure Government account.","fix":"Sign in with a work account in a commercial company tenant; Partner Center can create a work account and tenant for you.","source":"enroll"},{"hiccup":"You do not know whether the company already has a partner account or its Partner One ID.","fix":"Open the enrollment page signed in with a user from the company's primary tenant; an existing account is recognised and you are added. The partner profile page then lists the Partner One ID and primary contact.","source":"troubleshoot"}],"sources":["enroll"]},{"id":"mcpp-verification","title":"Pass Partner Center verification","summary":"Microsoft checks email (primary contact's business email), identity (a government ID), employment (domain documents) and business registration (formation documents). Watch Account settings > Legal info > Verification Summary and upload what is asked. Only the primary contact receives emails. Changing legal name, address or primary contact later triggers verification again.","route":"guided","depends_on":["mcpp-enroll"],"gate":"third_party_review","url":"https://partner.microsoft.com/dashboard/account/v3/organization/legalinfo","lead_time":{"official":{"text":"In most cases three to five business days; some checks take longer if more review or information is needed.","source":"verification"},"reported":{"text":"Some people report business verification stuck for 40 days or more with no working support route (Tech Community, 2026).","source":"tc-stuck-40-days"}},"recovery":[{"hiccup":"Status shows \"Pending Partner Action\" or \"User Action Needed\".","fix":"Open Verification Summary and supply the requested document or answer; reply quickly to the emails sent to the primary contact.","source":"verification"},{"hiccup":"Verification email never arrives.","fix":"Add microsoft.com as a safe sender, check junk, confirm the address, and use \"resend code\" on the Contact Info page.","source":"verification"},{"hiccup":"Business or employment verification is rejected.","fix":"Make the legal name and address match registration records exactly, upload registrar documents showing business name, domain and dates, and submit an appeal from Verification Summary if offered.","source":"verification"},{"hiccup":"Employment verification fails with a \"domain mismatch\".","fix":"People report needing a domain invoice or registrar record in the company's name; making WHOIS details match the legal entity has helped some.","source":"qa-employment"},{"hiccup":"Email shows verified but Legal info still says verification status \"None\".","fix":"People report this needs a Partner Center support ticket [to verify a reliable escalation route].","source":"tc-legal-info-none"}],"sources":["verification"]},{"id":"roles","title":"Line up roles on both sides","summary":"The person who will verify needs Application Administrator or Cloud Application Administrator in Entra, and Partner Admin (CPP) or Accounts Admin in Partner Center. The tenant that owns the app must be associated with the Partner Global Account (Partner Center > tenant management).","route":"guided","depends_on":["mcpp-verification"],"gate":"human_submit","url":"https://partner.microsoft.com/dashboard/account/v3/usermanagement","preflight":["mfa_enabled"],"sources":["overview","troubleshoot"]},{"id":"verify","title":"Add the Partner One ID and verify","summary":"Sign in with MFA, open App registrations > your app > Branding & properties > Add Partner ID to verify publisher, enter the Partner Global Account's Partner One ID and select Verify and save. The badge appears next to the publisher display name; test with a fresh consent prompt.","route":"guided","depends_on":["publisher-domain","roles"],"gate":"2fa","url":"https://aka.ms/PublisherVerificationPreview","lead_time":{"official":{"text":"Developers who already meet the requirements can be verified in minutes; the request \"may take a few minutes\" and the badge can take time to replicate.","source":"mark"}},"recovery":[{"hiccup":"\"The Partner One ID you provided doesn't exist or you don't have access to it.\"","code":"MPNAccountNotFoundOrNoAccess","fix":"Check the ID, that the app's tenant is listed in Partner Center tenant management, and that you are Global Admin, MPN/CPP Admin or Accounts Admin in Partner Center.","source":"troubleshoot"},{"hiccup":"Partner One ID rejected as not valid.","code":"MPNGlobalAccountNotFound","fix":"You used a location ID. Use the ID with type PartnerGlobal from Account settings > Identifiers.","source":"troubleshoot"},{"hiccup":"\"The Partner One ID hasn't completed the vetting process.\"","code":"MPNAccountNotVetted","fix":"Finish Partner Center verification until Legal business profile and Partner info both show authorized.","source":"troubleshoot"},{"hiccup":"App has no publisher domain.","code":"NoPublisherDomainOnApplication","fix":"Set a publisher domain on the app (Branding & properties).","source":"troubleshoot"},{"hiccup":"Publisher domain does not match the Partner Center email domain.","code":"PublisherDomainMismatch","fix":"Verify the primary contact's email domain in the tenant and set it as the publisher domain.","source":"troubleshoot"},{"hiccup":"\"You aren't authorized to set the verified publisher property.\"","code":"NotAuthorizedToVerifyPublisher","fix":"Get Application Administrator or Cloud Application Administrator in Entra.","source":"troubleshoot"},{"hiccup":"Feature not supported for Microsoft consumer accounts.","code":"MSANotSupported","fix":"Re-register the app in a tenant with a work or school account; apps registered with a Microsoft account cannot be verified.","source":"troubleshoot"},{"hiccup":"\"You must use multifactor authentication to proceed.\"","code":"InteractionRequired","fix":"Make MFA required for your user (for example by Conditional Access for admins), sign in again with MFA, and retry.","source":"troubleshoot"},{"hiccup":"\"You're unable to add a verified publisher to this application.\"","code":"UserUnableToAddPublisher","fix":"Your user is flagged at risk. Remediate the user risk (for example a strong self-service password reset), wait, then retry.","source":"troubleshoot"},{"hiccup":"\"A verified publisher cannot be added to this application.\"","code":"UnableToAddPublisher","fix":"The request was judged risky; Microsoft does not say why. Try again the next day.","source":"troubleshoot"}],"sources":["mark","troubleshoot"]}],"outputs":[],"terms_notes":[{"kind":"rules_say","severity":"amber","title":"Unverified multitenant apps can be blocked","text":"Where risk-based step-up consent is on, users cannot consent to most multitenant apps registered after 8 November 2020 that are not publisher verified and ask for more than basic sign-in and profile permissions in another tenant. Plan verification before launching to other organisations.","source":"overview"},{"kind":"rules_say","severity":"amber","title":"You sign a legal agreement for the company","text":"Enrolling accepts the MAICPP agreement. The enrollee must have authority to sign for the organisation and be able to produce legal documents during verification.","source":"enroll"},{"kind":"rules_say","severity":"yellow","title":"The badge is not a quality certificate","text":"Verification only confirms who the publisher is. It says nothing about app quality or compliance; Microsoft 365 Publisher Attestation and App Certification are separate programmes.","source":"overview"},{"kind":"rules_say","severity":"red","title":"API access can be withdrawn","text":"Microsoft may suspend or terminate access to its APIs at any time and for any reason; keep your registration accurate.","source":"api-terms"},{"kind":"people_report","severity":"amber","title":"Verification can stall for weeks","text":"People report Partner Center business verification stuck far longer than the stated three to five business days, with support hard to reach. Start this weeks before you need the badge.","source":"tc-stuck-40-days"},{"kind":"people_report","severity":"yellow","title":"Sole traders struggle","text":"People report that a sole trader using a trading name as the publisher name is not accepted (Tech Community).","source":"tc-sole-trader"}],"preflight_rules":[{"id":"partner-email-domain-matches-publisher","title":"Partner contact email domain matches publisher domain","description":"The domain after \"@\" in the Partner Center primary contact's email equals the app's publisher domain or a DNS-verified custom domain in the tenant, and is not *.onmicrosoft.com.","based_on":"domain_email_matches_website","source":"overview"},{"id":"legal-name-exact","title":"Legal name exactly matches registration records","description":"Legal business name and address in Partner Center match official registration records with no abbreviations.","based_on":"legal_name_matches_documents","source":"verification"}],"pricing_notes":{"free_tier":"Microsoft does not charge for publisher verification and no licence is required.","source":"overview"},"api_provisioning":{"available":"partial","notes":"Once prerequisites are met, the verified publisher can be set or unset through Microsoft Graph (POST /applications/{object-id}/setVerifiedPublisher with the Partner One ID). Publisher domain setup, Partner Center enrollment and verification are human-only.","docs":["https://learn.microsoft.com/en-us/entra/identity-platform/troubleshoot-publisher-verification"],"source":"troubleshoot"},"notes":["Publisher verification is not available in national clouds or Azure AD B2C tenants.","The publisher must accept the Microsoft identity platform for developers Terms of Use (linked from the overview page)."]}}