# Choosing an M7 service

Choose the service that owns the resource and workflow your application needs.
A workflow can use several services; retain each service's identifiers and access
context when moving between steps.

## Storage and documents

Use [BigFS](https://m7.org/docs/api/api.bigfs.m7.org/) for versioned objects, buckets, vaults, remote
objects and storage operations. Its [bucket guide](https://m7.org/docs/api/api.bigfs.m7.org/buckets.md)
and [object guide](https://m7.org/docs/api/api.bigfs.m7.org/objects.md) describe resource access,
uploads, downloads and stored versions.

Use [Document](https://m7.org/docs/api/api.document.m7.org/) for conversion, inspection, sanitization
and extraction. Authenticated document operations require an accessible
`bucket_id`; follow its [bucket selection](https://m7.org/docs/api/api.document.m7.org/buckets.md),
[conversion](https://m7.org/docs/api/api.document.m7.org/convert.md) and
[job lifecycle](https://m7.org/docs/api/api.document.m7.org/jobs.md) contracts. Configure and authorize
the document operation according to those guides, even when your wider workflow
also stores files in BigFS.

## Content and payload exchange

Use [Blog](https://m7.org/docs/api/api.blog.service.m7.org/) for publication content, taxonomy, media,
domains, revisions and public reading. Publication membership and capabilities
control protected operations. [Workspace selection](https://m7.org/docs/api/api.blog.service.m7.org/workspaces.md)
and [publication routes](https://m7.org/docs/api/api.blog.service.m7.org/publication-route-family.md)
provide the entry path; [public reading](https://m7.org/docs/api/api.blog.service.m7.org/public-read-route-family.md)
serves published content to readers.

Use [Dead Drop](https://m7.org/docs/api/api.drop.m7.org/) for encrypted, time-limited handoffs.
[Projects](https://m7.org/docs/api/api.drop.m7.org/projects.md) select the authorized container.
[Drop lifecycle](https://m7.org/docs/api/api.drop.m7.org/drop-lifecycle.md) explains reservation,
activation, retrieval, expiration and deletion. Protect the retrieval key
according to its [authorization guide](https://m7.org/docs/api/api.drop.m7.org/authorization.md).

## Messages and proof workflows

Use [Mailbox](https://m7.org/docs/api/api.mail.m7.org/) to send an email within an authorized project
and inspect its [send log](https://m7.org/docs/api/api.mail.m7.org/send-log.md).
[Sending](https://m7.org/docs/api/api.mail.m7.org/sending.md) describes the fields, accepted transport
result and retry considerations. Transport acceptance does not establish that
the recipient received the message.

Use [Post](https://m7.org/docs/api/api.post.m7.org/) to prepare reusable message templates, delivery
policies and notification or proof jobs. Its [jobs](https://m7.org/docs/api/api.post.m7.org/jobs.md)
and [proof](https://m7.org/docs/api/api.post.m7.org/proof.md) guides describe activation, verification
and consumption. Public proof steps use the job's documented credentials;
protected management steps use project access.

## Relationships and permission catalogues

Use [Relationship](https://m7.org/docs/api/api.relationship.service.m7.org/) for scoped connections,
resource memberships, enrollment requests and mailbox event receipts.
[Scope setup](https://m7.org/docs/api/api.relationship.service.m7.org/scopes.md) and
[enrollment](https://m7.org/docs/api/api.relationship.service.m7.org/enrollment.md) distinguish graph
records from pending requests. Your application decides how a relationship
permits access to its resources.

Use [Capability](https://m7.org/docs/api/api.capability.service.m7.org/) to load an owner-enabled
published catalogue's actions, presets, roles and defaults.
[Discovery](https://m7.org/docs/api/api.capability.service.m7.org/discovery.md) specifies the project
and revision lookup. Definitions describe actions; the receiving service still
authorizes the caller's requested action against the selected resource.

[Services](https://m7.org/docs/api/services/) · [Workspaces and access](https://m7.org/docs/api/services/workspaces-and-access.md)
