# Elentra API

## 8.0

- [Introduction](https://docs.elentra.org/api/master.md)
- [Getting Started](https://docs.elentra.org/api/developers/getting-started.md): The developer documentation you need to getting started with the Elentra API.
- [Quickstart Guide](https://docs.elentra.org/api/developers/quickstart-guide.md)
- [Set up Repositories](https://docs.elentra.org/api/developers/quickstart-guide/untitled.md): Clone the repositories and link them together for development
- [Validate the setup](https://docs.elentra.org/api/developers/quickstart-guide/validate-the-setup.md)
- [Exploring the API](https://docs.elentra.org/api/developers/quickstart-guide/exploring-the-api.md): A quick guide to the parts of the API folder heirarchy
- [Creating a new Module](https://docs.elentra.org/api/developers/quickstart-guide/creating-a-new-module.md)
- [Setup Routing](https://docs.elentra.org/api/developers/quickstart-guide/creating-routes-and-controllers.md)
- [Introduction to Postman](https://docs.elentra.org/api/developers/quickstart-guide/postman.md)
- [Create a Controller](https://docs.elentra.org/api/developers/quickstart-guide/create-a-controller.md)
- [Using Eloquent Models](https://docs.elentra.org/api/developers/quickstart-guide/using-eloquent-models.md)
- [Input Validation](https://docs.elentra.org/api/developers/quickstart-guide/input-validation.md)
- [API Resource Authorization](https://docs.elentra.org/api/developers/quickstart-guide/authorization.md)
- [HTTP Methods & Status Codes](https://docs.elentra.org/api/elentra-api-standards/http-methods-and-status-codes.md)
- [Routing & Parameters](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters.md)
- [Example Routing Patterns with HTTP Method](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/example-routing-patterns-with-http-method.md): Examples of how to construct a Uniform Resource Identifier (URI).
- [/courses/{course}/contacts](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/example-routing-patterns-with-http-method/courses-course-contacts.md): Collection/Resource/Sub-Collection
- [/courses/{course}/contacts?type={contact\_type}](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/example-routing-patterns-with-http-method/courses-course-contacts-type-contact_type.md): Collection/Resource/Sub-Collection?Query
- [/courses/{course}/contacts/{contact}](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/example-routing-patterns-with-http-method/courses-course-contacts-contact.md): Collection/Resource/Sub-Collection/Sub-Resource
- [/courses/{course}/syllabus](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/example-routing-patterns-with-http-method/courses-course-syllabus.md): Collection/Resource/Sub-Resource
- [Common Mistakes](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes.md): Examples of common mistakes in the Elentra API with suggestions of how readability could be improved by applying RESTful best practices.
- [\[GET\] /admissions/file-review/file/rubric-score/{cycle\_id}/{pool\_id}/{subpool\_id}](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes/get-admissions-file-review-file-rubric-score-cycle_id-pool_id-subpool_id.md)
- [\[DELETE\] /notices/1,2,3](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes/delete-notices-1-2-3.md)
- [\[GET\] /cbe/curriculum/framework/{framework\_id}/hierarchy-by-depth](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes/get-cbe-curriculum-framework-framework_id-hierarchy-by-depth.md)
- [\[GET\] /admissions/file-review/file/rubric-score/delete/{id}](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes/get-admissions-file-review-file-rubric-score-delete-id.md)
- [\[GET\] /portfolio/entries/{entry\_id}/get-file](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes/get-portfolio-entries-entry_id-get-file.md)
- [\[POST\] /cbe/curriculum/updateframework](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes/post-cbe-curriculum-updateframework.md)
- [Getting Started](https://docs.elentra.org/api/automated-testing/getting-started.md): This section is on how to run, create and edit automated tests for the Elentra API repository.
- [Setting up a testing environment](https://docs.elentra.org/api/automated-testing/getting-started/setting-up-a-testing-environment.md): Steps on how to setup a testing environment to run the API automated tests
- [Running Automated Tests](https://docs.elentra.org/api/automated-testing/getting-started/running-automated-tests.md): The page demostrates the mutliple ways to run the automated functional tests for the API
- [Seed Data](https://docs.elentra.org/api/automated-testing/seed-data.md)
- [Folder Structure](https://docs.elentra.org/api/automated-testing/seed-data/folder-structure.md): Functional tests require data already populated in the database for the endpoints to return a response. Seed data allows pre-determined data to be populated in the database, allowing accurate asserts.
- [Creating Seed Data](https://docs.elentra.org/api/automated-testing/seed-data/creating-seed-data.md): Steps in creating a new seed data file
- [Functional Tests](https://docs.elentra.org/api/automated-testing/functional-tests.md): Functional tests are any tests in which the end user interacts with the application. In the case of the API
- [Creating a Functional Test File](https://docs.elentra.org/api/automated-testing/functional-tests/creating-a-functional-test-file.md)
- [Testing HTTP Verbs](https://docs.elentra.org/api/automated-testing/functional-tests/testing-http-verbs.md)
- [Creating an HTTP Test](https://docs.elentra.org/api/automated-testing/functional-tests/testing-http-verbs/creating-an-http-test.md)
- [GET Requests](https://docs.elentra.org/api/automated-testing/functional-tests/testing-http-verbs/get-requests.md)
- [POST / PUT / DELETE Requests](https://docs.elentra.org/api/automated-testing/functional-tests/testing-http-verbs/post-put-delete-requests.md)
- [GraphQL Requests](https://docs.elentra.org/api/automated-testing/functional-tests/testing-http-verbs/graphql-requests.md)
- [Asserting API Response](https://docs.elentra.org/api/automated-testing/functional-tests/asserting-api-response.md): Automation tests are only validating if they assert the expected results. Asserts are used to verify the expected results from the endpoint.
- [Annotations](https://docs.elentra.org/api/automated-testing/functional-tests/annotations.md): Elentra's API contains custom annotations for functional tests that help developers easily create and manage tests.
- [Code Style Linting](https://docs.elentra.org/api/automated-testing/code-style-linting.md): Elentra API uses php-cs-fixer to verify that code styles are enforced.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.elentra.org/api/master.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
