# endpoint.js > Turns GitHub REST API endpoints into generic request options [![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) [![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) `@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. - [Usage](#usage) - [API](#api) - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) - [`endpoint.defaults()`](#endpointdefaults) - [`endpoint.DEFAULTS`](#endpointdefaults) - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) - [`endpoint.parse()`](#endpointparse) - [Special cases](#special-cases) - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) - [LICENSE](#license) ## Usage
Browsers |
Load @octokit/endpoint directly from esm.sh
```html
```
|
---|---|
Node |
Install with npm install @octokit/endpoint
```js
const { endpoint } = require("@octokit/endpoint");
// or: import { endpoint } from "@octokit/endpoint";
```
|
name | type | description |
---|---|---|
route
|
String |
If set, it has to be a string consisting of URL and the request method, e.g., GET /orgs/{org} . If it’s set to a URL, only the method defaults to GET .
|
options.method
|
String |
Required unless route is set. Any supported http verb. Defaults to GET .
|
options.url
|
String |
Required unless route is set. A path or full URL which may contain :variable or {variable} placeholders,
e.g., /orgs/{org}/repos . The url is parsed using url-template.
|
options.baseUrl
|
String |
Defaults to https://api.github.com .
|
options.headers
|
Object |
Custom headers. Passed headers are merged with defaults:headers['user-agent'] defaults to octokit-endpoint.js/1.2.3 (where 1.2.3 is the released version).headers['accept'] defaults to application/vnd.github.v3+json . |
options.mediaType.format
|
String |
Media type param, such as raw , diff , or text+json . See Media Types. Setting options.mediaType.format will amend the headers.accept value.
|
options.data
|
Any |
Set request body directly instead of setting it to JSON based on additional parameters. See "The data parameter" below.
|
options.request
|
Object |
Pass custom meta information for the request. The request object will be returned as is.
|
key | type | description |
---|---|---|
method |
String | The http method. Always lowercase. |
url |
String | The url with placeholders replaced with passed parameters. |
headers |
Object | All header names are lowercased. |
body |
Any | The request body if one is present. Only for PATCH , POST , PUT , DELETE requests. |
request |
Object | Request meta option, it will be returned as it was passed into endpoint() |