# REST methods and nested RAML resources

*MuleSoft Developer Study Guide · Designing APIs · Last updated October 28, 2026 · https://www.certifyforce.com/study-guide/mulesoft-developer/designing-apis/rest-methods-and-nested-raml-resources*

Which HTTP method (GET, POST, PUT, PATCH, DELETE) and which resource path fit a requirement, how RAML nests resources and places methods under them, and what the API Designer text editor gives you before any Mule application exists.

- Certification: Salesforce MuleSoft Developer
- Exam section: Designing APIs
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-developer

**Official exam objective:**

> Use REST API methods and resources.

## What the exam expects

- Choose GET, POST, PUT, PATCH or DELETE and the matching collection or item path from a requirement such as "create an order whose ID the back end assigns" or "change one field only".
- Read a RAML 1.0 specification and work out the full request path served by a method declared under nested resources.
- Place a method correctly in RAML: as a key under the resource it acts on, beside any nested resources.
- Predict the result of a request for an undeclared path or method, and know what API Designer needs before a call can be tried.
- Key terms: **resource** (a RAML key starting with `/`, such as `/flights`); **nested resource** (a resource declared inside another, whose path extends the parent's); **collection** (the resource for the whole set, such as `/flights`); **item** (one member addressed by ID, such as `/flights/123`); **method** (the HTTP verb declared under a resource).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| POST | Creates a new resource, sent to the collection (`POST /flights`) | [Examine APIs and Web Services](https://trailhead.salesforce.com/content/learn/modules/application-networks-and-api-led-connectivity-in-mulesoft/examine-apis-and-web-services) |
| PUT | Updates an existing resource; used for the entire record | [Examine APIs and Web Services](https://trailhead.salesforce.com/content/learn/modules/application-networks-and-api-led-connectivity-in-mulesoft/examine-apis-and-web-services) |
| PATCH | Updates only part of a resource | [Examine APIs and Web Services](https://trailhead.salesforce.com/content/learn/modules/application-networks-and-api-led-connectivity-in-mulesoft/examine-apis-and-web-services) |
| Nested resource path | `/userbyid` under `/users` is served at `/users/userbyid` | [Building, Implementing, and Testing a REST API](https://docs.mulesoft.com/apikit/latest/apikit-4-implement-rest-api) |
| Method placement | Method keys sit under their resource, beside nested resources | [Building, Implementing, and Testing a REST API](https://docs.mulesoft.com/apikit/latest/apikit-4-implement-rest-api) |
| Undeclared path | `APIKIT:NOT_FOUND`, scaffolded as 404 | [APIkit for REST Error Handling Reference](https://docs.mulesoft.com/apikit/latest/apikit-error-handling-reference) |
| Undeclared method on a declared resource | `APIKIT:METHOD_NOT_ALLOWED`, scaffolded as 405 | [APIkit for REST Error Handling Reference](https://docs.mulesoft.com/apikit/latest/apikit-error-handling-reference) |
| New project default | RAML 1.0, changeable to RAML 0.8 or OAS; projects can mix file types | [Create an API Specification with the Text Editor](https://docs.mulesoft.com/design-center/design-create-publish-api-raml-editor) |
| Download as another format | Not guaranteed to be valid | [Create an API Specification with the Text Editor](https://docs.mulesoft.com/design-center/design-create-publish-api-raml-editor) |
| Mocking prerequisite | At least one endpoint, each with at least one method; no Exchange publish needed | [Simulate API Calls with the Mocking Service](https://docs.mulesoft.com/design-center/design-mocking-service) |

## Check yourself

- Why is the scaffolded flow for the tutorial's nested resource named `get:\users\userbyid:api-config`?
- Which specification languages can API Designer design besides RAML?
- Which path serves a `get:` declared under `/userbyid:`, which is nested under `/users:`?
- When a project holds more than one specification file, what must you set?

## Sources

- [Examine APIs and Web Services](https://trailhead.salesforce.com/content/learn/modules/application-networks-and-api-led-connectivity-in-mulesoft/examine-apis-and-web-services)
- [Building, Implementing, and Testing a REST API](https://docs.mulesoft.com/apikit/latest/apikit-4-implement-rest-api)
- [Create an API Specification with the Text Editor](https://docs.mulesoft.com/design-center/design-create-publish-api-raml-editor)
- [Common Problems Found in RAML 1.0 API Specifications](https://docs.mulesoft.com/design-center/design-common-problems-raml-10)
- [Getting Started with API Designer](https://docs.mulesoft.com/design-center/design-create-publish-api-specs)
- [Simulate API Calls with the Mocking Service](https://docs.mulesoft.com/design-center/design-mocking-service)
- [APIkit for REST Error Handling Reference](https://docs.mulesoft.com/apikit/latest/apikit-error-handling-reference)
- [APIkit for REST Scaffolding Reference](https://docs.mulesoft.com/apikit/latest/apikit-4-scaffolding-reference)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 9 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Developer pack (USD $19): https://www.certifyforce.com/practice-exams
