# Product Nouns, Form to Outcome Contract: every operation

URL: /code/interfaces/product-form · Id: `page:code/interfaces/product-form`

> Each operation on the product Nouns, Form to Outcome Contract as an API route, CLI command, MCP call and SDK method, with its webhook.

Every operation on the product [Nouns](/business/nouns/noun), [Form](/business/nouns/form) to [Outcome Contract](/business/nouns/outcome-contract) as an API route, CLI command, MCP call and SDK method, with its webhook. [Every group](/code/interfaces#every-operation).

| Operation | API | CLI | MCP | SDK | Webhooks |
| --- | --- | --- | --- | --- | --- |
| [Form.create](/business/nouns/form/create) | `POST /{namespace}/forms` | `do Form.create` | `do · Form.create` | `$.Form.create` | `Form.created` |
| [Form.get](/business/nouns/form/get) | `GET /{namespace}/forms/{id}` | `do Form.get` | `do · Form.get` | `$.Form.get` | None. |
| [Form.list](/business/nouns/form/list) | `GET /{namespace}/forms` | `do Form.list` | `do · Form.list` | `$.Form.list` | None. |
| [Form.update](/business/nouns/form/update) | `PATCH /{namespace}/forms/{id}` | `do Form.update` | `do · Form.update` | `$.Form.update` | `Form.updated` |
| [Form.delete](/business/nouns/form/delete) | `DELETE /{namespace}/forms/{id}` | `do Form.delete` | `do · Form.delete` | `$.Form.delete` | `Form.deleted` |
| [Implementation.create](/business/nouns/implementation/create) | `POST /{namespace}/implementations` | `do Implementation.create` | `do · Implementation.create` | `$.Implementation.create` | `Implementation.created` |
| [Implementation.get](/business/nouns/implementation/get) | `GET /{namespace}/implementations/{id}` | `do Implementation.get` | `do · Implementation.get` | `$.Implementation.get` | None. |
| [Implementation.list](/business/nouns/implementation/list) | `GET /{namespace}/implementations` | `do Implementation.list` | `do · Implementation.list` | `$.Implementation.list` | None. |
| [Implementation.update](/business/nouns/implementation/update) | `PATCH /{namespace}/implementations/{id}` | `do Implementation.update` | `do · Implementation.update` | `$.Implementation.update` | `Implementation.updated` |
| [Implementation.delete](/business/nouns/implementation/delete) | `DELETE /{namespace}/implementations/{id}` | `do Implementation.delete` | `do · Implementation.delete` | `$.Implementation.delete` | `Implementation.deleted` |
| [Incident.create](/business/nouns/incident/create) | `POST /{namespace}/incidents` | `do Incident.create` | `do · Incident.create` | `$.Incident.create` | `Incident.created` |
| [Incident.get](/business/nouns/incident/get) | `GET /{namespace}/incidents/{id}` | `do Incident.get` | `do · Incident.get` | `$.Incident.get` | None. |
| [Incident.list](/business/nouns/incident/list) | `GET /{namespace}/incidents` | `do Incident.list` | `do · Incident.list` | `$.Incident.list` | None. |
| [Incident.update](/business/nouns/incident/update) | `PATCH /{namespace}/incidents/{id}` | `do Incident.update` | `do · Incident.update` | `$.Incident.update` | `Incident.updated` |
| [Incident.delete](/business/nouns/incident/delete) | `DELETE /{namespace}/incidents/{id}` | `do Incident.delete` | `do · Incident.delete` | `$.Incident.delete` | `Incident.deleted` |
| [Incident.acknowledge](/business/nouns/incident/acknowledge) | `POST /{namespace}/incidents/{incident}/acknowledge` | `do Incident.acknowledge` | `do · Incident.acknowledge` | `$.Incident.acknowledge` | [`Incident.acknowledged`](/business/events/Incident.acknowledged) |
| [Incident.open](/business/nouns/incident/open) | `POST /{namespace}/incidents/open` | `do Incident.open` | `do · Incident.open` | `$.Incident.open` | [`Incident.opened`](/business/events/Incident.opened) |
| [Incident.resolve](/business/nouns/incident/resolve) | `POST /{namespace}/incidents/{incident}/resolve` | `do Incident.resolve` | `do · Incident.resolve` | `$.Incident.resolve` | [`Incident.resolved`](/business/events/Incident.resolved) |
| [Issue.create](/business/nouns/issue/create) | `POST /{namespace}/issues` | `do Issue.create` | `do · Issue.create` | `$.Issue.create` | `Issue.created` |
| [Issue.get](/business/nouns/issue/get) | `GET /{namespace}/issues/{id}` | `do Issue.get` | `do · Issue.get` | `$.Issue.get` | None. |
| [Issue.list](/business/nouns/issue/list) | `GET /{namespace}/issues` | `do Issue.list` | `do · Issue.list` | `$.Issue.list` | None. |
| [Issue.update](/business/nouns/issue/update) | `PATCH /{namespace}/issues/{id}` | `do Issue.update` | `do · Issue.update` | `$.Issue.update` | `Issue.updated` |
| [Issue.delete](/business/nouns/issue/delete) | `DELETE /{namespace}/issues/{id}` | `do Issue.delete` | `do · Issue.delete` | `$.Issue.delete` | `Issue.deleted` |
| [Issue.estimate](/business/nouns/issue/estimate) | `POST /{namespace}/issues/{issue}/estimate` | `do Issue.estimate` | `do · Issue.estimate` | `$.Issue.estimate` | [`Issue.estimated`](/business/events/Issue.estimated) |
| [Issue.reopen](/business/nouns/issue/reopen) | `POST /{namespace}/issues/{issue}/reopen` | `do Issue.reopen` | `do · Issue.reopen` | `$.Issue.reopen` | [`Issue.reopened`](/business/events/Issue.reopened) |
| [Issue.resolve](/business/nouns/issue/resolve) | `POST /{namespace}/issues/{issue}/resolve` | `do Issue.resolve` | `do · Issue.resolve` | `$.Issue.resolve` | [`Issue.resolved`](/business/events/Issue.resolved) |
| [Issue.schedule](/business/nouns/issue/schedule) | `POST /{namespace}/issues/{issue}/schedule` | `do Issue.schedule` | `do · Issue.schedule` | `$.Issue.schedule` | [`Issue.scheduled`](/business/events/Issue.scheduled) |
| [Issue.triage](/business/nouns/issue/triage) | `POST /{namespace}/issues/{issue}/triage` | `do Issue.triage` | `do · Issue.triage` | `$.Issue.triage` | [`Issue.triaged`](/business/events/Issue.triaged) |
| [Mapping.create](/business/nouns/mapping/create) | `POST /{namespace}/mappings` | `do Mapping.create` | `do · Mapping.create` | `$.Mapping.create` | `Mapping.created` |
| [Mapping.get](/business/nouns/mapping/get) | `GET /{namespace}/mappings/{id}` | `do Mapping.get` | `do · Mapping.get` | `$.Mapping.get` | None. |
| [Mapping.list](/business/nouns/mapping/list) | `GET /{namespace}/mappings` | `do Mapping.list` | `do · Mapping.list` | `$.Mapping.list` | None. |
| [Mapping.update](/business/nouns/mapping/update) | `PATCH /{namespace}/mappings/{id}` | `do Mapping.update` | `do · Mapping.update` | `$.Mapping.update` | `Mapping.updated` |
| [Mapping.delete](/business/nouns/mapping/delete) | `DELETE /{namespace}/mappings/{id}` | `do Mapping.delete` | `do · Mapping.delete` | `$.Mapping.delete` | `Mapping.deleted` |
| [MemberDirectory.create](/business/nouns/member-directory/create) | `POST /{namespace}/member-directories` | `do MemberDirectory.create` | `do · MemberDirectory.create` | `$.MemberDirectory.create` | `MemberDirectory.created` |
| [MemberDirectory.get](/business/nouns/member-directory/get) | `GET /{namespace}/member-directories/{id}` | `do MemberDirectory.get` | `do · MemberDirectory.get` | `$.MemberDirectory.get` | None. |
| [MemberDirectory.list](/business/nouns/member-directory/list) | `GET /{namespace}/member-directories` | `do MemberDirectory.list` | `do · MemberDirectory.list` | `$.MemberDirectory.list` | None. |
| [MemberDirectory.update](/business/nouns/member-directory/update) | `PATCH /{namespace}/member-directories/{id}` | `do MemberDirectory.update` | `do · MemberDirectory.update` | `$.MemberDirectory.update` | `MemberDirectory.updated` |
| [MemberDirectory.deactivate](/business/nouns/member-directory/deactivate) | `POST /{namespace}/member-directories/{directory}/deactivate` | `do MemberDirectory.deactivate` | `do · MemberDirectory.deactivate` | `$.MemberDirectory.deactivate` | [`MemberDirectory.deactivated`](/business/events/MemberDirectory.deactivated) |
| [MemberDirectory.deprovision](/business/nouns/member-directory/deprovision) | `POST /{namespace}/member-directories/{directory}/deprovision` | `do MemberDirectory.deprovision` | `do · MemberDirectory.deprovision` | `$.MemberDirectory.deprovision` | [`MemberDirectory.deprovisioned`](/business/events/MemberDirectory.deprovisioned) |
| [MemberDirectory.provision](/business/nouns/member-directory/provision) | `POST /{namespace}/member-directories/provision` | `do MemberDirectory.provision` | `do · MemberDirectory.provision` | `$.MemberDirectory.provision` | [`MemberDirectory.provisioned`](/business/events/MemberDirectory.provisioned) |
| [Monitor.create](/business/nouns/monitor/create) | `POST /{namespace}/monitors` | `do Monitor.create` | `do · Monitor.create` | `$.Monitor.create` | `Monitor.created` |
| [Monitor.get](/business/nouns/monitor/get) | `GET /{namespace}/monitors/{id}` | `do Monitor.get` | `do · Monitor.get` | `$.Monitor.get` | None. |
| [Monitor.list](/business/nouns/monitor/list) | `GET /{namespace}/monitors` | `do Monitor.list` | `do · Monitor.list` | `$.Monitor.list` | None. |
| [Monitor.update](/business/nouns/monitor/update) | `PATCH /{namespace}/monitors/{id}` | `do Monitor.update` | `do · Monitor.update` | `$.Monitor.update` | `Monitor.updated` |
| [Monitor.check](/business/nouns/monitor/check) | `POST /{namespace}/monitors/{monitor}/check` | `do Monitor.check` | `do · Monitor.check` | `$.Monitor.check` | [`Monitor.checked`](/business/events/Monitor.checked) |
| [Offer.create](/business/nouns/offer/create) | `POST /{namespace}/offers` | `do Offer.create` | `do · Offer.create` | `$.Offer.create` | `Offer.created` |
| [Offer.get](/business/nouns/offer/get) | `GET /{namespace}/offers/{id}` | `do Offer.get` | `do · Offer.get` | `$.Offer.get` | None. |
| [Offer.list](/business/nouns/offer/list) | `GET /{namespace}/offers` | `do Offer.list` | `do · Offer.list` | `$.Offer.list` | None. |
| [Offer.update](/business/nouns/offer/update) | `PATCH /{namespace}/offers/{id}` | `do Offer.update` | `do · Offer.update` | `$.Offer.update` | `Offer.updated` |
| [Offer.delete](/business/nouns/offer/delete) | `DELETE /{namespace}/offers/{id}` | `do Offer.delete` | `do · Offer.delete` | `$.Offer.delete` | `Offer.deleted` |
| [Offer.accept](/business/nouns/offer/accept) | `POST /{namespace}/offers/{offer}/accept` | `do Offer.accept` | `do · Offer.accept` | `$.Offer.accept` | [`Offer.accepted`](/business/events/Offer.accepted) |
| [Offer.grant](/business/nouns/offer/grant) | `POST /{namespace}/offers/{offer}/grant` | `do Offer.grant` | `do · Offer.grant` | `$.Offer.grant` | [`Offer.granted`](/business/events/Offer.granted) |
| [Offer.publish](/business/nouns/offer/publish) | `POST /{namespace}/offers/{offer}/publish` | `do Offer.publish` | `do · Offer.publish` | `$.Offer.publish` | [`Offer.published`](/business/events/Offer.published) |
| [Offer.subscribe](/business/nouns/offer/subscribe) | `POST /{namespace}/offers/{offer}/subscribe` | `do Offer.subscribe` | `do · Offer.subscribe` | `$.Offer.subscribe` | [`Offer.subscribed`](/business/events/Offer.subscribed) |
| [Offer.trial](/business/nouns/offer/trial) | `POST /{namespace}/offers/{offer}/trial` | `do Offer.trial` | `do · Offer.trial` | `$.Offer.trial` | [`Offer.trialed`](/business/events/Offer.trialed) |
| [Offer.withdraw](/business/nouns/offer/withdraw) | `POST /{namespace}/offers/{offer}/withdraw` | `do Offer.withdraw` | `do · Offer.withdraw` | `$.Offer.withdraw` | [`Offer.withdrawn`](/business/events/Offer.withdrawn) |
| [OutcomeContract.get](/business/nouns/outcome-contract/get) | `GET /{namespace}/outcome-contracts/{id}` | `do OutcomeContract.get` | `do · OutcomeContract.get` | `$.OutcomeContract.get` | None. |
| [OutcomeContract.list](/business/nouns/outcome-contract/list) | `GET /{namespace}/outcome-contracts` | `do OutcomeContract.list` | `do · OutcomeContract.list` | `$.OutcomeContract.list` | None. |
| [OutcomeContract.update](/business/nouns/outcome-contract/update) | `PATCH /{namespace}/outcome-contracts/{id}` | `do OutcomeContract.update` | `do · OutcomeContract.update` | `$.OutcomeContract.update` | `OutcomeContract.updated` |