# 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.
