{"id":21296406,"url":"https://github.com/thisdot/movies-api","last_synced_at":"2025-03-15T17:24:41.043Z","repository":{"id":206511470,"uuid":"716354022","full_name":"thisdot/movies-api","owner":"thisdot","description":"API of movie and genre data as a Node v GraphQL POC","archived":false,"fork":false,"pushed_at":"2024-07-15T15:25:00.000Z","size":685,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-22T07:19:11.931Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thisdot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-09T00:43:48.000Z","updated_at":"2024-07-15T15:25:03.000Z","dependencies_parsed_at":"2023-12-01T22:25:36.475Z","dependency_job_id":null,"html_url":"https://github.com/thisdot/movies-api","commit_stats":null,"previous_names":["thisdot/movies-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisdot%2Fmovies-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisdot%2Fmovies-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisdot%2Fmovies-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisdot%2Fmovies-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thisdot","download_url":"https://codeload.github.com/thisdot/movies-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243764204,"owners_count":20344386,"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":[],"created_at":"2024-11-21T14:26:21.986Z","updated_at":"2025-03-15T17:24:41.026Z","avatar_url":"https://github.com/thisdot.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Movies API (GraphQL and REST)\n\n## Overview\n\nWelcome to the `movies-api` repository! This open-source project provides a comprehensive API (both GraphQL and RESTful) for accessing a wide range of movie data. Whether you're looking for a specific title or exploring different genres, our API makes it easy to access the information you need.\n\n## Features\n\n- **GraphQL \u0026 RESTful API**: Two ways to interact with our movie database.\n- **Bearer Token Authorization**: Secure access to our API endpoints.\n- **Extensive Movie Data**: Access a wide range of movie information.\n\n## Getting Started\n\n### Base URL\n\nThe base URL for our API is `https://0kadddxyh3.execute-api.us-east-1.amazonaws.com`. All endpoints are prefixed with this base URL.\n\n### Obtaining an Access Token\n\nTo use our API, first, obtain a bearer token:\n\n1. Send a `GET` request to `/auth/token`.\n2. Use this token in the Authorization header of your subsequent API calls.\n\n### Setting Up the GraphQL Sandbox\n\n1. Open the GraphQL sandbox endpoint and click on the connection settings\n\n![connection settings](./screenshots/GraphQL_sandbox_connection_settings_1.png)\n\n2. Update the headers by adding the `Authorization` bearer token\n\n![adding authorization header](./screenshots/GraphQL_sandbox_connection_settings_2.png)\n\n## API Endpoints\n\nHere's a list of our available API endpoints:\n\n### RESTful Endpoints\n\n- `GET /auth/token`: Fetch a valid token to be used in the queries below\n- `GET /healthcheck`: Check status of the app\n- `GET /genres/movies`: Fetch a list of all movie IDs grouped by genre\n  - Query Parameters:\n    - `page`: the page number to be fetched, starting at page 1 (default = 1)\n    - `limit`: the number of items per page (default = 25)\n- `GET /movies`: Fetch a list of all movies\n  - Query Parameters:\n    - `page`: the page number to be fetched, starting at page 1 (default = 1)\n    - `limit`: the number of items per page (default = 25)\n    - `search`: searches for a movie title (simple string match in the whole title string)\n    - `genre`: searches for a movie genre (exact match)\n- `GET /movies/{id}`: Fetch details of a specific movie\n- `GET /movies/titles`: Fetch a list of all movie IDs and titles\n  - Query Parameters:\n    - `page`: the page number to be fetched, starting at page 1 (default = 1)\n    - `limit`: the number of items per page (default = 25)\n- `GET /movies/genres/{id}`: Fetch stats details of a movie genre\n\n### GraphQL Queries\n\nGraphQL queries can be accessed using the endpoint `/graphql`. Open the sandbox at `/graphql` and take a look at the query schema documentation.\n\n![graphql query schema documentation](./screenshots/GraphQL_schema_query_doc.png)\n\n## License\n\nThis project is licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisdot%2Fmovies-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthisdot%2Fmovies-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisdot%2Fmovies-api/lists"}