Skip to Content
MuoCeon Docs

Documentation outline

The whole of the MuoCeon developer docs — purpose, audience, sections, section guides, reading paths and conventions.

This is the MuoCeon developer documentation. Every external-facing protocol, flow and convention lives here, and it is the single source of truth: when an email, a chat message or a sample code snippet disagrees with this page, this page wins.

What this documentation is

It is a contract document, not a tutorial collection. It describes only externally observable behaviour: endpoint addresses, request parameters, response structures, error codes and boundary conditions.

It deliberately does not describe internals — no table schemas, no cache key names, no internal call chains. The reason is practical: internals get refactored, and once they are published as external docs, refactoring becomes a compatibility break. All you need to know is "what I send, what the server sends back".

It isIt is not
Stable contracts for external interfacesInternal architecture notes
Verifiable steps with expected resultsVague conceptual explainers
Grounds for deciding what went wrongA support ticket system

Who it is for

ReaderWhat they care aboutSuggested starting point
External developersLetting their app sign users in with MuoCeonIntegration guide
Backend developersValidating tokens, calling protected resources, handling errorsTokens, Error codes
Mobile / desktop developersHow a secret-less client obtains tokens safelyRedirect URI policy
Product and operationsWhat to prepare before integration, what review looks atRegistering a client
End usersWhat the consent page is asking, how to revoke accessFAQ

You do not need to have read MuoCeon's source code or know its internals.

Documentation sections

The docs are organised into sections, each answering one class of question with no overlap:

SectionQuestion it answersShapeGuide
IntroductionWhat does this documentation cover, where do I startOutline, section guides, reading paths, conventionsThis page
Integration guideHow do I integrate from scratch, how do I verify each stepStep-by-step, with examples and expected resultsIntegration guide overview
API referenceWhat exactly does this endpoint or field meanParameter tables, response samples, field constraintsAPI reference overview
FAQI am stuck, or a user is confused — look here firstQuestion → cause → fix, split by audienceFAQ overview

The integration guide is the most complete today: the whole of third-party OAuth integration (registration, flows, permissions and security, endpoints and error codes) lives there. API reference currently provides the overview plus version and context skeletons, with field-by-field docs to follow per context. FAQ already covers the most common questions from users and developers.

Section guides

"Introduction" is not one page but four: this page gives the whole picture, the other three explain what each section contains, in what order to read it, and what is deliberately left out.

GuideWhat it coversWhen to read it
Integration guide overviewThe four groups inside the integration guide, how pages depend on each other, the three-stage orderBefore deciding to integrate
API reference overviewHow API reference differs from the integration guide, how to look up fields by version and context, how to read parameter tablesWhen you need exact field definitions
FAQ overviewThe split between end-user and developer answers, how to search by symptom and error codeWhen you are stuck, or a user asks

None of the three is long, but each states explicitly what does not belong in its section — knowing the boundaries is more useful than knowing the table of contents.

Reading paths

You do not need to read the docs front to back. Pick the path that matches your situation.

First integration, want to get running fast

  1. This page, to confirm scope;
  2. Third-party OAuth integration to recognise the three roles;
  3. Registering a client to obtain credentials;
  4. Quick start to run one complete flow in fifteen minutes;
  5. Tokens to make validation solid.

Already integrating, but something keeps failing

  1. The troubleshooting order in Error codes covers most cases;
  2. Callback failures: Redirect URI policy;
  3. Permission failures: Scopes and audiences.

Building for mobile or desktop

  1. Redirect URI policy to confirm the platform and address shape;
  2. Quick start to get the PKCE flow working;
  3. The storage guidance in Tokens — especially relevant on mobile.

Want to understand the security boundaries

Read in order: Scopes and audiences → Redirect URI policy → Authentication strength → Tokens.

Conventions

All addresses in the docs are placeholders. Replace them with your own values when integrating:

PlaceholderMeaning
{issuer}Authorization server identifier, e.g. https://id.example.com/v1/oauth
{origin}The origin of {issuer}, e.g. https://id.example.com
{consentUi}Consent UI address, read from the metadata's authorization_endpoint
{clientId} / {clientSecret}Credentials obtained after registering on the developer platform

Three general rules:

  • Trust the metadata: domains, paths and supported algorithms can change per deployment. Read them from discovery rather than copying the domains in examples.
  • Examples illustrate, they do not define: tokens, sub and state in samples are fake values; the contract is defined by the parameter tables and field descriptions.
  • Capabilities have boundaries: the docs state clearly which capabilities are "not applicable to third parties" (token exchange, fine-grained authorization). Do not try to work around them — the server rejects them outright.

Changes and feedback

  • The docs are updated alongside the interfaces; behaviour changes note their impact on the relevant page.
  • If the docs disagree with actual behaviour, report it as "the docs are wrong" rather than working around it — the former gets fixed, the latter leaves a long-term hazard.
  • The developer platform is not live yet; client creation currently goes through manual registration. Once live, the process and fields stay the same — see Registering a client.

On this page