{"id":17965822,"url":"https://github.com/wil-jsdev/cuidandopawsapi","last_synced_at":"2025-06-25T05:44:41.579Z","repository":{"id":259809478,"uuid":"879392788","full_name":"Wil-JsDev/CuidandoPawsApi","owner":"Wil-JsDev","description":"This project is about the care and adoption of pets","archived":false,"fork":false,"pushed_at":"2025-02-03T22:23:48.000Z","size":286,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T18:08:02.475Z","etag":null,"topics":["aspnet-web-api","coding","docker-compose","postgresql","project"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wil-JsDev.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-27T19:27:43.000Z","updated_at":"2025-05-03T14:45:24.000Z","dependencies_parsed_at":"2024-12-26T15:24:06.727Z","dependency_job_id":"9f51d17d-1811-4b5a-9079-19b9ce5b92e0","html_url":"https://github.com/Wil-JsDev/CuidandoPawsApi","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"b17ff300ffa5ee9b5c056720f563b35c24cb08cd"},"previous_names":["wil-jsdev/cuidandopawsapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Wil-JsDev/CuidandoPawsApi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wil-JsDev%2FCuidandoPawsApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wil-JsDev%2FCuidandoPawsApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wil-JsDev%2FCuidandoPawsApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wil-JsDev%2FCuidandoPawsApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wil-JsDev","download_url":"https://codeload.github.com/Wil-JsDev/CuidandoPawsApi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wil-JsDev%2FCuidandoPawsApi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261814947,"owners_count":23213819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnet-web-api","coding","docker-compose","postgresql","project"],"created_at":"2024-10-29T13:05:37.950Z","updated_at":"2025-06-25T05:44:41.555Z","avatar_url":"https://github.com/Wil-JsDev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\u003ci\u003eWell-being and care for each pet, in one place\u003c/i\u003e\u003c/div\u003e\n\n\u003chr /\u003e\n\n# Cuidando Paws 🐾\n\nThe **Pet Care Platform** is a comprehensive solution designed to provide the best support in pet care.\nWe connect pet owners with a network of professional services, resources and tools that promote the well-being and health of their companions.\n## 📦 Technologies\n\n- `Asp.Net Core Web Api`\n- `PostgreSQL`\n- `Docker`\n \n## 🚀 Features\n\n- Book pet sitting services online.\n- Registration and management of pet sitters on the platform.\n- Security and management of the platform by administrators.\n\n# API Documentation (V1)\n\n## Acoount Endpoints \n\n## Base URL\n`/api/v1/account`\n### Register Caregiver\n\n**URL:** `register-caregiver`  \n**Method:** `POST`  \n**Authorization:** Admin  \n**Rate Limiting:** Disabled  \n**Request Body:**\n```json\n{\n    \"firstName\": \"string\",\n    \"lastName\": \"string\",\n    \"username\": \"string\",\n    \"phoneNumber\": \"string\",\n    \"email\": \"string\",\n    \"password\": \"string\"\n}\n```\n**Responses:**\n- `200 OK`: Returns registered caregiver data.\n- `400 Bad Request`: Validation errors.\n\n---\n\n### Register Pet Owner\n\n**URL:** `/register-pet-owner`  \n**Method:** `POST`  \n**Authorization:** Admin  \n**Rate Limiting:** Disabled  \n**Request Body:** \n```json\n{\n    \"firstName\": \"string\",\n    \"lastName\": \"string\",\n    \"username\": \"string\",\n    \"phoneNumber\": \"string\",\n    \"email\": \"string\",\n    \"password\": \"string\"\n}\n``` \n**Responses:**\n- `200 OK`: Returns registered pet owner data.\n- `400 Bad Request`: Validation errors.\n\n---\n\n### Register Admin\n\n**URL:** `/register-admin`  \n**Method:** `POST`  \n**Authorization:** Admin  \n**Rate Limiting:** Disabled  \n**Request Body:** \n```json\n{\n    \"firstName\": \"string\",\n    \"lastName\": \"string\",\n    \"username\": \"string\",\n    \"phoneNumber\": \"string\",\n    \"email\": \"string\",\n    \"password\": \"string\"\n}\n``` \n**Responses:**\n- `200 OK`: Returns registered admin data.\n- `400 Bad Request`: Validation errors.\n\n---\n\n### Confirm Account\n\n**URL:** `/confirm-account`  \n**Method:** `GET`  \n**Rate Limiting:** Enabled (`fixed`)  \n**Query Parameters:**\n- `userId`: `string`\n- `token`: `string`\n\n**Responses:**\n- `200 OK`: Account confirmed successfully.\n- `404 Not Found`: Invalid token or user.\n\n---\n\n### Authenticate\n\n**URL:** `/authenticate`  \n**Method:** `POST`  \n**Rate Limiting:** Enabled (`token`)  \n**Request Body:**\n```json\n{\n    \"email\": \"string\",\n    \"password\": \"string\"\n}\n```\n**Responses:**\n- `200 OK`: Returns `AuthenticateResponse`.\n- `400 Bad Request`: Account not confirmed.\n- `401 Unauthorized`: Invalid credentials.\n- `404 Not Found`: Email not found.\n\n---\n\n### Forgot Password\n\n**URL:** `/forgot-password`  \n**Method:** `POST`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Request Body:**\n```json\n{\n    \"email\": \"string\"\n}\n```\n**Responses:**\n- `200 OK`: Success message.\n- `404 Not Found`: Email not found.\n\n---\n\n### Reset Password\n\n**URL:** `/reset-password`  \n**Method:** `POST`  \n**Authorization:** Required  \n**Rate Limiting:** Disabled  \n**Request Body:**\n```json\n{\n    \"email\": \"string\",\n    \"password\": \"string\"\n}\n```\n**Responses:**\n- `200 OK`: Password reset successfully.\n- `404 Not Found`: Invalid request.\n\n---\n\n### Get Account Details\n\n**URL:** `/{userId}`  \n**Method:** `GET`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `200 OK`: Returns `AccountDto`.\n- `404 Not Found`: User not found.\n\n---\n\n### Logout\n\n**URL:** `/logout`  \n**Method:** `POST`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `200 OK`: User logged out.\n\n---\n\n### Update Account Details\n\n**URL:** `/{userId}`  \n**Method:** `PUT`  \n**Authorization:** Admin  \n**Rate Limiting:** Enabled (`fixed`)  \n**Request Body:**\n```json\n{\n    \"firstName\": \"string\",\n    \"lastName\": \"string\",\n    \"phoneNumber\": \"string\",\n    \"username\": \"string\"\n}\n```\n**Responses:**\n- `200 OK`: Updated account details.\n- `404 Not Found`: User not found.\n \n---\n\n## Appoinment Endpoints (V1)\n\n### Create Appointment\n\n**URL:** `/api/v1/appoinment`  \n**Method:** `POST`  \n**Authorization:** `PetOwner, Admin`  \n**Rate Limiting:** Enabled (`fixed`)  \n**Request Body:**\n```json\n{\n    \"notes\": \"string\",\n    \"idServiceCatalog\": 0\n}\n```\n**Responses:**\n- `200 OK`: Returns created appointment data.\n- `400 Bad Request`: Validation errors.\n\n---\n\n### Get Appointment by ID\n\n**URL:** `/api/v1/appoinment/{id}`  \n**Method:** `GET`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `200 OK`: Returns `AppoinmentDTos`.\n- `404 Not Found`: Appointment not found.\n\n---\n\n### Get All Appointments\n\n**URL:** `/api/v1/appoinment`  \n**Method:** `GET`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `200 OK`: Returns a list of appointments.\n\n---\n\n### Delete Appointment\n\n**URL:** `/api/v1/appoinment/{appoinmentId}`  \n**Method:** `DELETE`  \n**Authorization:** `PetOwner, Admin`  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `204 No Content`: Appointment deleted successfully.\n- `404 Not Found`: Appointment not found.\n\n---\n\n### Update Appointment\n\n**URL:** `/api/v1/appoinment/{appoinmentId}`  \n**Method:** `PATCH`  \n**Authorization:** `PetOwner, Admin`  \n**Rate Limiting:** Disabled  \n**Request Body:**\n```json\n{\n    \"notes\": \"string\",\n    \"idServiceCatalog\": 0\n}\n```\n**Responses:**\n- `200 OK`: Returns updated appointment data.\n- `404 Not Found`: Appointment not found.\n\n---\n\n### Check Appointment Availability\n\n**URL:** `/api/v1/appoinment/check-availability/service-catalog/{serviceId}`  \n**Method:** `GET`  \n**Authorization:** `PetOwner, Admin`  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `200 OK`: Returns service availability.\n- `404 Not Found`: Service not found.\n\n---\n\n### Get Availability for a Service\n\n**URL:** `/api/v1/appoinment/availability-service/service-catalog/{serviceCatalogId}`  \n**Method:** `GET`  \n**Authorization:** `PetOwner, Admin`  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `200 OK`: Returns availability data.\n- `404 Not Found`: Service not found.\n\n---\n\n### Get Last Added Appointment\n\n**URL:** `/api/v1/appoinment/last-added`  \n**Method:** `GET`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Query Parameters:**\n- `filterDate`: `Enum`\n\n**Responses:**\n- `200 OK`: Returns last added appointment.\n- `400 Bad Request`: Invalid request.\n\n## Medical Record Endpoints (V1)\n\n### Get All Medical Records\n\n**URL:** `/api/v1.0/medical-record`  \n**Method:** `GET`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Responses:**\n- `200 OK`: Returns a list of `MedicalRecordDTos`.\n\n---\n\n### Get Medical Record by ID\n\n**URL:** `/api/v1.0/medical-record/{id}`  \n**Method:** `GET`  \n**Authorization:** Required  \n**Rate Limiting:** Enabled (`fixed`)  \n**Path Parameters:**\n- `id`: `int` (Medical Record ID)\n\n**Responses:**\n- `200 OK`: Returns `MedicalRecordDTos`.\n- `404 Not Found`: Medical record not found.\n\n---\n\n### Create Medical Record\n\n**URL:** `/api/v1.0/medical-record`  \n**Method:** `POST`  \n**Authorization:** Roles (`Caregiver, Admin`)  \n**Rate Limiting:** Enabled (`fixed`)  \n**Request Body:**\n```json\n{\n    \"treatment\": \"string\",\n    \"recommendations\": \"string\",\n    \"idPet\": \"int\"\n}\n```\n**Responses:**\n- `200 OK`: Returns created `MedicalRecordDTos`.\n- `400 Bad Request`: Validation errors.\n- `404 Not Found`: Related entity not found.\n\n---\n\n### Update Medical Record\n\n**URL:** `/api/v1.0/medical-record/{id}`  \n**Method:** `PUT`  \n**Authorization:** Roles (`Admin`)  \n**Rate Limiting:** Enabled (`fixed`)  \n**Path Parameters:**\n- `id`: `int` (Medical Record ID)\n\n**Request Body:**\n```json\n{\n    \"treatment\": \"string\",\n    \"recommendations\": \"string\",\n    \"idPet\": \"int\"\n}\n```\n**Responses:**\n- `200 OK`: Returns updated `MedicalRecordDTos`.\n- `400 Bad Request`: Validation errors.\n- `404 Not Found`: Medical record not found.\n\n---\n\n# Pets Endpoints (v1)\n\n## Base URL\n`/api/v1/pets`\n\n### Create a Pet\n**Endpoint:** `POST /api/v1/pets`\n\n**Authorization:** Required (`User` role)\n\n**Rate Limiting:** Disabled\n\n**Request Body:**\n```json\n{\n  \"namePaws\": \"string\",\n  \"bred\": \"string\",\n  \"age\": 0,\n  \"color\": \"string\",\n  \"notesPets\": \"string\",\n  \"gender\": \"string\",\n  \"speciesId\": 0\n}\n```\n\n**Responses:**\n- `200 OK` - Returns the created pet.\n- `400 Bad Request` - Validation errors.\n\n---\n\n### Delete a Pet\n**Endpoint:** `DELETE /api/v1/pets/{id}`\n\n**Authorization:** Required (`Admin` role)\n\n**Rate Limiting:** Disabled\n\n**Responses:**\n- `204 No Content` - Pet deleted successfully.\n- `404 Not Found` - Pet not found.\n\n---\n\n### Get a Pet by ID\n**Endpoint:** `GET /api/v1/pets/{id}`\n\n**Authorization:** Required\n\n**Rate Limiting:** Enabled (`fixed`)\n\n**Responses:**\n- `200 OK` - Returns the pet details.\n- `404 Not Found` - Pet not found.\n\n---\n\n### Update a Pet\n**Endpoint:** `PUT /api/v1/pets/{id}`\n\n**Authorization:** Required (`Caregiver`, `Admin` roles)\n\n**Rate Limiting:** Enabled (`fixed`)\n\n**Request Body:**\n```json\n{\n  \"namePaws\": \"string\",\n  \"bred\": \"string\",\n  \"age\": 0,\n  \"gender\": \"string\",\n  \"speciesId\": 0\n}\n```\n\n**Responses:**\n- `200 OK` - Returns the updated pet.\n- `400 Bad Request` - Validation errors.\n- `404 Not Found` - Pet not found.\n\n---\n\n### Get Pets Added Today\n**Endpoint:** `GET /api/v1/pets/last-added-today`\n\n**Authorization:** Required\n\n**Rate Limiting:** Enabled (`fixed`)\n\n**Responses:**\n- `200 OK` - Returns a list of pets added today.\n\n---\n\n### Get Paginated Pets\n**Endpoint:** `GET /api/v1/pets/pagination?pageNumber={page}\u0026pageSize={size}`\n\n**Authorization:** Required\n\n**Rate Limiting:** Enabled (`fixed`)\n\n**Responses:**\n- `200 OK` - Returns paginated pet list.\n- `400 Bad Request` - Invalid pagination parameters.\n\n---\n\n## Data Transfer Objects (DTOs)\n\n### CreatePetsDTos\n```json\n{\n  \"namePaws\": \"string\",\n  \"bred\": \"string\",\n  \"age\": 0,\n  \"color\": \"string\",\n  \"notesPets\": \"string\",\n  \"gender\": \"string\",\n  \"speciesId\": 0\n}\n```\n\n### PetsDTos\n```json\n{\n  \"petsId\": 0,\n  \"namePaws\": \"string\",\n  \"bred\": \"string\",\n  \"age\": 0,\n  \"color\": \"string\",\n  \"adoptionStatus\": true,\n  \"notesPets\": \"string\",\n  \"dateOfEntry\": \"2025-01-01T00:00:00Z\",\n  \"gender\": \"string\",\n  \"createdAt\": \"2025-01-01T00:00:00Z\",\n  \"speciesId\": 0\n}\n```\n\n### UpdatePetsDTos\n```json\n{\n  \"namePaws\": \"string\",\n  \"bred\": \"string\",\n  \"age\": 0,\n  \"gender\": \"string\",\n  \"speciesId\": 0\n}\n```\n---\n# Service Catalog API (v1)\n\n## Base URL\n\n`/api/v1/service-catalog`\n\n## Endpoints\n\n### Get All Service Catalog Entries\n**GET** `/api/v1/service-catalog`\n\n**Authorization:** Required\n\n**Rate Limiting:** Enabled (`fixed`)\n\n**Response:**\n- `200 OK`: Returns a list of service catalog entries.\n\n---\n\n### Get Service Catalog Entry by ID\n**GET** `/api/v1/service-catalog/{id}`\n\n**Authorization:** Required\n\n**Rate Limiting:** Enabled (`fixed`)\n\n**Response:**\n- `200 OK`: Returns the service catalog entry.\n- `404 Not Found`: Entry does not exist.\n\n---\n\n### Create a New Service Catalog Entry\n**POST** `/api/v1/service-catalog`\n\n**Authorization:** Required (`Caregiver, Admin` roles)\n\n**Rate Limiting:** Disabled\n\n**Request Body:**\n```json\n{\n  \"nameService\": \"string\",\n  \"descriptionService\": \"string\",\n  \"price\": \"decimal\",\n  \"type\": \"string\",\n  \"duration\": \"int\"\n}\n```\n\n**Response:**\n- `200 OK`: Returns the created service catalog entry.\n- `400 Bad Request`: Validation errors.\n\n---\n\n### Update an Existing Service Catalog Entry\n**PUT** `/api/v1/service-catalog/{id}`\n\n**Authorization:** Required (`Admin` role)\n\n**Rate Limiting:** Enabled (`fixed`)\n\n**Request Body:**\n```json\n{\n  \"nameService\": \"string\",\n  \"descriptionService\": \"string\",\n  \"price\": \"decimal\",\n  \"type\": \"string\",\n  \"duration\": \"int\"\n}\n```\n\n**Response:**\n- `200 OK`: Returns the updated service catalog entry.\n- `400 Bad Request`: Validation errors.\n- `404 Not Found`: Entry does not exist.\n\n---\n\n### Delete a Service Catalog Entry\n**DELETE** `/api/v1/service-catalog/{id}`\n\n**Authorization:** Required (`Admin` role)\n\n**Rate Limiting:** Disabled\n\n**Response:**\n- `204 No Content`: Successfully deleted.\n- `400 Bad Request`: Deletion failed.\n\n---\n\n## DTOs\n\n### CreateServiceCatalogDTos\n\n```json\n{\n  \"NameService\": \"string\",\n  \"DescriptionService\": \"string\",\n  \"Price\": \"decimal\",\n  \"Type\": \"string\",\n  \"Duration\": \"int\"\n}\n```\n\n### ServiceCatalogDTos\n```json\n{\n  \"ServiceCatalogId\": \"int\",\n  \"NameService\": \"string\",\n  \"DescriptionService\": \"string\",\n  \"Price\": \"decimal\",\n  \"CreatedAt\": \"DateTime\",\n  \"Type\": \"string\",\n  \"IsAvaible\": \"bool\",\n  \"Duration\": \"int\"\n}\n```\n\n### UpdateServiceCatalogDTos\n```json\n{\n  \"NameService\": \"string\",\n  \"DescriptionService\": \"string\",\n  \"Price\": \"decimal\",\n  \"Type\": \"string\",\n  \"Duration\": \"int\"\n}\n\n```\n# Species API (v1)\n\n## Base URL\n\n`/api/v1.0/species`\n\n## Authentication\nAll endpoints require authentication via JWT. Some endpoints require specific roles (`Caregiver`, `Admin`).\n\n## Endpoints\n\n### 1. Get All Species\n**GET** `/api/v1.0/species`\n- **Authorization:** Required\n- **Rate Limiting:** Enabled\n- **Response Codes:**\n  - `200 OK`: Returns a list of all species.\n\n#### Example Response\n```json\n[\n  {\n    \"speciesId\": 1,\n    \"descriptionOfSpecies\": \"Mammal\",\n    \"entryOfSpecies\": \"2024-02-01T12:00:00Z\"\n  }\n]\n```\n\n---\n### 2. Get Species by ID\n**GET** `/api/v1.0/species/{id}`\n- **Authorization:** Required\n- **Rate Limiting:** Enabled\n- **Path Parameters:**\n  - `id` (int, required) - The ID of the species.\n- **Response Codes:**\n  - `200 OK`: Returns the species data.\n  - `404 Not Found`: Species not found.\n\n#### Example Response\n```json\n{\n  \"speciesId\": 1,\n  \"descriptionOfSpecies\": \"Mammal\",\n  \"entryOfSpecies\": \"2024-02-01T12:00:00Z\"\n}\n```\n\n---\n### 3. Create a New Species\n**POST** `/api/v1.0/species`\n- **Authorization:** Required (Roles: `Caregiver`, `Admin`)\n- **Rate Limiting:** Disabled\n- **Request Body:**\n  - `descriptionOfSpecies` (string, required)\n- **Response Codes:**\n  - `200 OK`: Successfully created.\n  - `400 Bad Request`: Validation failed.\n\n#### Example Request\n```json\n{\n  \"descriptionOfSpecies\": \"Reptile\"\n}\n```\n\n#### Example Response\n```json\n{\n  \"speciesId\": 2,\n  \"descriptionOfSpecies\": \"Reptile\",\n  \"entryOfSpecies\": \"2024-02-01T12:05:00Z\"\n}\n```\n\n---\n### 4. Update a Species\n**PATCH** `/api/v1.0/species/{id}`\n- **Authorization:** Required (Roles: `Caregiver`, `Admin`)\n- **Rate Limiting:** Enabled\n- **Path Parameters:**\n  - `id` (int, required) - The ID of the species.\n- **Request Body:**\n  - `descriptionOfSpecies` (string, required)\n- **Response Codes:**\n  - `200 OK`: Successfully updated.\n  - `404 Not Found`: Species not found.\n  - `400 Bad Request`: Validation failed.\n\n#### Example Request\n```json\n{\n  \"descriptionOfSpecies\": \"Amphibian\"\n}\n```\n\n#### Example Response\n```json\n{\n  \"speciesId\": 2,\n  \"descriptionOfSpecies\": \"Amphibian\",\n  \"entryOfSpecies\": \"2024-02-01T12:05:00Z\"\n}\n```\n\n---\n### 5. Delete a Species\n**DELETE** `/api/v1.0/species/{id}`\n- **Authorization:** Required (Role: `Admin`)\n- **Rate Limiting:** Disabled\n- **Path Parameters:**\n  - `id` (int, required) - The ID of the species.\n- **Response Codes:**\n  - `204 No Content`: Successfully deleted.\n  - `404 Not Found`: Species not found.\n\n---\n### 6. Get Last Added Species\n**GET** `/api/v1.0/species/last-added`\n- **Authorization:** Required\n- **Rate Limiting:** Enabled\n- **Response Codes:**\n  - `200 OK`: Returns the most recently added species.\n\n#### Example Response\n```json\n{\n  \"speciesId\": 3,\n  \"descriptionOfSpecies\": \"Bird\",\n  \"entryOfSpecies\": \"2024-02-02T10:30:00Z\"\n}\n```\n\n---\n### 7. Get Species Ordered by ID\n**GET** `/api/v1.0/species/order-by?sort={sort}\u0026direction={direction}`\n- **Authorization:** Required\n- **Rate Limiting:** Enabled\n- **Query Parameters:**\n  - `sort` (string, required) - The field to sort by (e.g., `speciesId`).\n  - `direction` (string, required) - Sorting order (`asc` or `desc`).\n- **Response Codes:**\n  - `200 OK`: Returns sorted species list.\n  - `400 Bad Request`: Invalid parameters.\n\n#### Example Request\n```\nGET /api/v1.0/species/order-by?sort=speciesId\u0026direction=asc\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwil-jsdev%2Fcuidandopawsapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwil-jsdev%2Fcuidandopawsapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwil-jsdev%2Fcuidandopawsapi/lists"}