### General Purest Initialization Options Source: https://github.com/simov/purest/blob/master/README.md Provides a comprehensive example of initializing the Purest client with all major configuration options: config, provider, defaults, and methods. This covers the flexibility of the library. ```javascript var google = purest({config: {}, provider: 'google', defaults: {}, methods: {}}) ``` -------------------------------- ### GET /channels (with method aliases) Source: https://github.com/simov/purest/blob/master/README.md Example of fetching channels using method aliases 'select' and 'where'. ```APIDOC ## GET /channels (with method aliases) ### Description Fetches channels using aliases 'select' for GET and 'where' for query parameters. ### Method GET ### Endpoint /channels ### Parameters #### Query Parameters - **forUsername** (string) - Required - The username to get channels for. #### Request Body None ### Request Example ```javascript var google = purest({provider: 'google', config, defaults: {auth: token}, methods: {get: ['select'], qs: ['where']}}) var {res, body} = await google('youtube') .select('channels') .where({forUsername: 'GitHub'}) .request() ``` ### Response #### Success Response (200) - **res** (object) - The response object from the HTTP request. - **body** (object) - The JSON body of the response, containing channel data. #### Response Example ```json { "res": { ... }, "body": { ... } } ``` ``` -------------------------------- ### Configure Method Aliases in Purest Source: https://github.com/simov/purest/blob/master/README.md Illustrates how to define method aliases in Purest, allowing alternative names for existing methods like 'get' and 'qs'. This enhances flexibility in API call syntax. ```javascript var google = purest({provider: 'google', config, defaults: {auth: token}, methods: {get: ['select'], qs: ['where']} }) ``` -------------------------------- ### Install request-logs Dev Dependency Source: https://github.com/simov/purest/blob/master/README.md Installs the 'request-logs' package as a development dependency using npm. This package is likely used for enhanced logging capabilities within the project. ```bash npm i --save-dev request-logs ``` -------------------------------- ### Use Method Aliases for API Requests Source: https://github.com/simov/purest/blob/master/README.md Demonstrates using the defined method aliases ('select' for 'get', 'where' for 'qs') to make an API request, showcasing the flexibility provided by method aliasing in Purest. ```javascript var {res, body} = await google('youtube') .select('channels') .where({forUsername: 'GitHub'}) .request() ``` -------------------------------- ### GET /youtube/v3/channels Source: https://github.com/simov/purest/blob/master/README.md Example of fetching channels for a specific username from the YouTube API using Purest. ```APIDOC ## GET /youtube/v3/channels ### Description Fetches channels for a specific username from the YouTube API. ### Method GET ### Endpoint /youtube/v3/channels ### Parameters #### Query Parameters - **forUsername** (string) - Required - The username to get channels for. #### Request Body None ### Request Example ```javascript var google = purest({provider: 'google', config}) var {res, body} = await google('youtube') .get('channels') .qs({forUsername: 'GitHub'}) .auth(token) .request() ``` ### Response #### Success Response (200) - **res** (object) - The response object from the HTTP request. - **body** (object) - The JSON body of the response, containing channel data. #### Response Example ```json { "res": { ... }, "body": { ... } } ``` ``` -------------------------------- ### TripIt API Source: https://github.com/simov/purest/wiki/Providers Documentation for the TripIt API, outlining the base domain and the general structure for accessing its services. ```APIDOC ## TripIt API ### Description Enables access to the TripIt API for managing travel plans, itineraries, and related information. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.tripit.com/[version]/{endpoint}` ### Parameters #### Path Parameters - **version** (string) - Required - The API version (e.g., `v1`). - **endpoint** (string) - Required - The specific API resource. ### Request Example ```json { "example": "GET https://api.tripit.com/v1/getTripDetails?tripId=123" } ``` ### Response #### Success Response (200) - **data** (object) - The detailed trip information. #### Response Example ```json { "example": { "trip": { "id": "123", "name": "Business Trip to NYC", "dates": { "start_date": "2023-10-26", "end_date": "2023-10-28" } } } } ``` ``` -------------------------------- ### Instantiate Purest with Default Authentication Token Source: https://github.com/simov/purest/blob/master/README.md Shows how to initialize Purest with a default authentication token, eliminating the need to specify it on each request. This simplifies subsequent API calls. ```javascript var google = purest({provider: 'google', config, defaults: {auth: token} }) ``` -------------------------------- ### bitbucket API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the bitbucket API, including the domain and path structure. This allows users to interact with the bitbucket API using Purest. ```APIDOC ## bitbucket API ### Description Configuration details for the bitbucket API. ### Domain `https://api.bitbucket.org` ### Path *`[version]/{endpoint}`* ### API __default ``` -------------------------------- ### 500px API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the 500px API, including the domain and path structure. This allows users to interact with the 500px API using Purest. ```APIDOC ## 500px API ### Description Configuration details for the 500px API. ### Domain `https://api.500px.com` ### Path *`[version]/{endpoint}`* ### API __default ``` -------------------------------- ### assembla API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the assembla API, including the domain and path structure. This allows users to interact with the assembla API using Purest. ```APIDOC ## assembla API ### Description Configuration details for the assembla API. ### Domain `https://api.assembla.com` ### Path *`[version]/{endpoint}.[type]`* *`{endpoint}`* ### API __default oauth ``` -------------------------------- ### buffer API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the buffer API, including the domain and path structure. This allows users to interact with the buffer API using Purest. ```APIDOC ## buffer API ### Description Configuration details for the buffer API. ### Domain `https://api.bufferapp.com` ### Path *`[version]/{endpoint}.[type]`* ### API __default ``` -------------------------------- ### beatport API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the beatport API, including the domain and path structure. This allows users to interact with the beatport API using Purest. ```APIDOC ## beatport API ### Description Configuration details for the beatport API. ### Domain `https://oauth-api.beatport.com` ### Path *`catalog/[version]/{endpoint}`* *`identity/[version]/{endpoint}`* ### API __default oauth ``` -------------------------------- ### Slack API Source: https://github.com/simov/purest/wiki/Providers Enables integration with Slack workspaces and functionalities. ```APIDOC ## Slack API ### Description Integrate your applications with Slack to enhance team communication and collaboration. ### Domain - `https://slack.com` ### Path - `api/{endpoint}` ``` -------------------------------- ### asana API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the asana API, including the domain and path structure. This allows users to interact with the asana API using Purest. ```APIDOC ## asana API ### Description Configuration details for the asana API. ### Domain `https://app.asana.com` ### Path *`api/[version]/{endpoint}`* *`-/oauth_{endpoint}`* ### API __default oauth ``` -------------------------------- ### Response Options Source: https://github.com/simov/purest/blob/master/README.md Describes the different ways responses can be handled, including buffering, decompressing, and parsing. ```APIDOC ## Response Options ### Description This section outlines the various ways response bodies can be processed and returned by the Purest library. It covers options for buffering the entire response, decompressing content, and automatically parsing JSON or querystring encoded bodies. ### Response Handling Options #### `request` Option - Buffers the entire response body. - Automatically decompresses `gzip` and `deflate` encoded bodies if a valid `content-encoding` header is present. - Converts the response body to a string using `utf8` encoding by default. - Attempts to parse response bodies that are `JSON` or `querystring` encoded, provided a valid `content-type` header is present. **Returns:** Either a String or an Object. #### `buffer` Option - Buffers the entire response body. - Automatically decompresses `gzip` and `deflate` encoded bodies if a valid `content-encoding` header is present. **Returns:** A [Buffer][buffer]. #### `stream` Option **Returns:** The raw response [Stream][stream-incoming-message]. ``` -------------------------------- ### Endpoint Configuration Source: https://github.com/simov/purest/blob/master/README.md Demonstrates different ways to access and specify the API endpoint. ```APIDOC ## Endpoint Configuration ### Description This section illustrates the various methods available for accessing and configuring the explicit API endpoint within the Purest library. You can specify the endpoint either during the instance creation, by calling a dedicated method, or by using a default method alias. ### Accessing Endpoints There are several ways to configure or access the explicit `endpoint`: 1. **As an argument to the Purest instance:** ```js // Directly passing the endpoint name during instantiation await google('youtube') ``` 2. **Using the `endpoint` method:** ```js // Calling the specific endpoint method await google.endpoint('youtube') ``` 3. **Using a default method alias:** ```js // Utilizing the default method alias defined for the endpoint await google.query('youtube') ``` ``` -------------------------------- ### basecamp API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the basecamp API, including the domain and path structure. This allows users to interact with the basecamp API using Purest. ```APIDOC ## basecamp API ### Description Configuration details for the basecamp API. ### Domain `https://basecamp.com` ### Path *`[subpath]/api/[version]/{endpoint}.[type]`* ### API __default ### Domain `https://launchpad.37signals.com` ### Path *`{endpoint}.[type]`* *`authorization/{endpoint}`* ### API id oauth ``` -------------------------------- ### aboutme API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the aboutme API, including the domain and path structure. This allows users to interact with the aboutme API using Purest. ```APIDOC ## aboutme API ### Description Configuration details for the aboutme API. ### Domain `https://api.about.me` ### Path *`api/[version]/json/{endpoint}`* *`api/[version]/json/user/{endpoint}`* *`api/[version]/json/users/{endpoint}`* *`api/[version]/json/services/{endpoint}`* ### API __default user users services ``` -------------------------------- ### beatsmusic API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the beatsmusic API, including the domain and path structure. This allows users to interact with the beatsmusic API using Purest. ```APIDOC ## beatsmusic API ### Description Configuration details for the beatsmusic API. ### Domain `https://partner.api.beatsmusic.com` ### Path *`[version]/api/{endpoint}`* *`[version]/oauth2/{endpoint}`* ### API __default oauth ``` -------------------------------- ### campaignmonitor API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the campaignmonitor API, including the domain and path structure. This allows users to interact with the campaignmonitor API using Purest. ```APIDOC ## campaignmonitor API ### Description Configuration details for the campaignmonitor API. ### Domain `https://api.createsend.com` ### Path *`api/[version]/{endpoint}.[type]`* *`oauth/{endpoint}`* ### API __default oauth ``` -------------------------------- ### Fitbit API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Fitbit service. ```APIDOC ## Fitbit API ### Description Endpoints for interacting with the Fitbit service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.fitbit.com/[version]/{endpoint}.[type]` ``` -------------------------------- ### angellist API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the angellist API, including the domain and path structure. This allows users to interact with the angellist API using Purest. ```APIDOC ## angellist API ### Description Configuration details for the angellist API. ### Domain `https://api.angel.co` ### Path *`[version]/{endpoint}`* ### API __default ``` -------------------------------- ### Redbooth API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Redbooth, including the base domain and path patterns and authentication. ```APIDOC ## Redbooth API ### Description API endpoints for accessing Redbooth services, covering standard API calls and OAuth2 authentication. ### Domain `https://redbooth.com` ### Paths - `api/[version]/{endpoint}` - `oauth2/{endpoint}` ### API Types - Default - OAuth ``` -------------------------------- ### Node Core Options Source: https://github.com/simov/purest/blob/master/README.md Explains how to utilize Node.js core options for advanced request configurations. ```APIDOC ## Node Core Options ### Description This section explains how to leverage Node.js core HTTP request options that are not explicitly exposed by the Purest library. These options can be passed directly to Purest's response methods for advanced control over the request lifecycle. ### Usage Any Node.js HTTP request option not directly available in Purest can be passed through using the `request`, `buffer`, or `stream` methods: ```js // Example using socketPath with request method await google.request({socketPath: '/var/run/docker.sock'}) // Example using socketPath with buffer method await google.buffer({socketPath: '/var/run/docker.sock'}) // Example using socketPath with stream method await google.stream({socketPath: '/var/run/docker.sock'}) ``` ``` -------------------------------- ### appnet API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the appnet API, including the domain and path structure. This allows users to interact with the appnet API using Purest. ```APIDOC ## appnet API ### Description Configuration details for the appnet API. ### Domain `https://api.app.net` ### Path *`{endpoint}`* ### API __default ``` -------------------------------- ### Instantiate and Make a YouTube Request with Purest Source: https://github.com/simov/purest/blob/master/README.md Demonstrates initializing Purest for the Google provider and making a request to the YouTube API to retrieve channel information for a given username. It uses method chaining for specifying the API endpoint, query parameters, and authentication. ```javascript var purest = require('purest') var google = purest({provider: 'google'}) await google .query('youtube') .select('channels') .where({forUsername: 'GitHub'}) .auth(token) .request() ``` -------------------------------- ### bitly API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the bitly API, including the domain and path structure. This allows users to interact with the bitly API using Purest. ```APIDOC ## bitly API ### Description Configuration details for the bitly API. ### Domain `https://api-ssl.bitly.com` ### Path *`[version]/{endpoint}`* ### API __default ``` -------------------------------- ### Configure Google Provider with Default Endpoint Source: https://github.com/simov/purest/blob/master/README.md Shows how to configure the Google provider with a default endpoint, including origin, path structure, and authorization headers. This configuration can then be used to instantiate the Purest client. ```javascript var google = purest({provider: 'google', config}) ``` -------------------------------- ### cheddar API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the cheddar API, including the domain and path structure. This allows users to interact with the cheddar API using Purest. ```APIDOC ## cheddar API ### Description Configuration details for the cheddar API. ### Domain `https://api.cheddarapp.com` ### Path *`[version]/{endpoint}`* ### API __default ``` -------------------------------- ### Meetup API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Meetup, including the base domain and path patterns for different API versions and authentication. ```APIDOC ## Meetup API ### Description API endpoints for accessing Meetup services, covering standard API calls and OAuth2 authentication. ### Domain - `https://api.meetup.com` - `https://secure.meetup.com` ### Paths - `[version]/{endpoint}` - `oauth2/access` ### API Types - Default - OAuth ``` -------------------------------- ### GitHub API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the GitHub service. ```APIDOC ## GitHub API ### Description Endpoints for interacting with the GitHub service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.github.com/{endpoint}` ``` -------------------------------- ### Vimeo API Source: https://github.com/simov/purest/wiki/Providers Documentation for the Vimeo API, used for uploading videos, managing channels, and retrieving user content. ```APIDOC ## Vimeo API ### Description Enables interaction with Vimeo for uploading videos, managing video libraries, accessing ``` -------------------------------- ### acton API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the acton API, including the domain and path structure. This allows users to interact with the acton API using Purest. ```APIDOC ## acton API ### Description Configuration details for the acton API. ### Domain `https://restapi.actonsoftware.com` ### Path *`api/[version]/{endpoint}`* *`{endpoint}`* ### API __default oauth ``` -------------------------------- ### Geeklist API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Geeklist service. ```APIDOC ## Geeklist API ### Description Endpoints for interacting with the Geeklist service. ### Method GET, POST, PUT, DELETE ### Endpoint `http://api.geekli.st/[version]/{endpoint}` ``` -------------------------------- ### MapMyFitness API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for MapMyFitness, including the base domain and path patterns for different API versions and authentication. ```APIDOC ## MapMyFitness API ### Description API endpoints for accessing MapMyFitness services, covering standard API calls and OAuth2 authentication. ### Domain `https://oauth2-api.mapmyapi.com` ### Paths - `[version]/{endpoint}` - `[version]/oauth2/uacf/access_{endpoint}` ### API Types - Default - OAuth ``` -------------------------------- ### Hackpad API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Hackpad service. ```APIDOC ## Hackpad API ### Description Endpoints for interacting with the Hackpad service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://hackpad.com/api/[version]/{endpoint}` ``` -------------------------------- ### Microsoft Live API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Microsoft Live, including the base domain and path patterns for different API versions and authentication. ```APIDOC ## Microsoft Live API ### Description API endpoints for accessing Microsoft Live services, covering both standard API calls and OAuth2 authentication. ### Domain - `https://apis.live.net` - `https://login.live.com` ### Paths - `[version]/{endpoint}` - `oauth20_{endpoint}.srf` ### API Types - Default - OAuth ``` -------------------------------- ### Request Options Source: https://github.com/simov/purest/blob/master/README.md Details the available options for configuring a request, such as method, URL, headers, and body. ```APIDOC ## Request Options ### Description This section details the available options for configuring a request with the Purest library. These options allow for fine-grained control over how requests are made, including specifying the HTTP method, URL, proxy settings, query parameters, headers, and various types of request bodies. ### Options Table | Option | Type | Description | | :-- | :-- | :-- | | `method` | `'string'` | Request method, implicitly set if one of the above HTTP Methods is used | | `url` | `'string'` [`url object`][url-parse] | Absolute URL, automatically constructed if the URL Options above are being used, or absolute URL is passed to any of the HTTP Methods above | | `proxy` | `'string'` [`url object`][url-parse] | Proxy URL; for HTTPS you have to use [tunneling][tunnel-agent] [agent][proxy-agent] instead | | `qs` | `{object}` `'string'` | URL querystring | | `headers` | `{object}` | Request headers | | `form` | `{object}` `'string'` | `application/x-www-form-urlencoded` request body | | `json` | `{object}` `'string'` | JSON encoded request body | | `multipart`| `{object}` `[array]` | `multipart/form-data` as object or `multipart/related` as array request body using [request-multipart] | | `body` | `'string'` [`Buffer`][buffer] [`Stream`][stream-readable] | Raw request body | | `auth` | `'string'` `['string', 'string']` `{user, pass}` | String or array of strings to replace the `{auth}` configuration token with, or Basic authorization as object | | `oauth` | `{object}` | OAuth 1.0a authorization using [request-oauth] | | `encoding` | [`'string'`][buffer-encoding] | Response body encoding | | `redirect` | `{object}` | HTTP redirect [configuration][redirect-config] | | `timeout` | `number` | Request timeout in milliseconds | | `agent` | [`Agent`][agent] | HTTP agent ``` -------------------------------- ### Flattr API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Flattr service. ```APIDOC ## Flattr API ### Description Endpoints for interacting with the Flattr service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.flattr.com/rest/[version]/{endpoint}` ``` -------------------------------- ### Node Core Options with Purest Methods Source: https://github.com/simov/purest/blob/master/README.md Demonstrates how to pass Node.js core options like 'socketPath' to the Purest request methods: request, buffer, and stream. These options allow for lower-level network configuration. ```javascript await google.request({socketPath: ''}) await google.buffer({socketPath: ''}) await google.stream({socketPath: ''}) ``` -------------------------------- ### Thingiverse API Source: https://github.com/simov/purest/wiki/Providers Provides access to the Thingiverse platform for 3D printable models. ```APIDOC ## Thingiverse API ### Description Access and interact with the Thingiverse platform for 3D models and related data. ### Domain - `https://api.thingiverse.com` ### Path - `{endpoint}` ``` -------------------------------- ### Imgur API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Imgur service. ```APIDOC ## Imgur API ### Description Endpoints for interacting with the Imgur service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.imgur.com/[version]/{endpoint}.[type]` `https://api.imgur.com/oauth2/{endpoint}` ``` -------------------------------- ### UserVoice API Source: https://github.com/simov/purest/wiki/Providers Documentation for the UserVoice API, used for integrating customer feedback and support into applications. ```APIDOC ## UserVoice API ### Description Allows integration of UserVoice features, such as feedback submission, idea voting, and support ticketing, into your application. ### Method GET, POST, PUT, DELETE ### Endpoint `https://[subdomain].uservoice.com/api/[version]/{endpoint}.[type]` ### Parameters #### Path Parameters - **subdomain** (string) - Required - Your UserVoice account subdomain. - **version** (string) - Required - The API version (e.g., `v1`). - **endpoint** (string) - Required - The specific API resource (e.g., `tickets`, `ideas`). - **type** (string) - Optional - The response format (e.g., `json`). ### Request Example ```json { "example": "POST https://mycompany.uservoice.com/api/v1/tickets.json" } ``` ### Response #### Success Response (200) - **data** (object/array) - Contains the UserVoice data. #### Response Example ```json { "example": { "ticket": { "id": "ticket789", "subject": "Feature Request: Dark Mode", "status": "Open" } } } ``` ``` -------------------------------- ### PipelineDeals API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for PipelineDeals, including the base domain and path patterns for different API versions. ```APIDOC ## PipelineDeals API ### Description API endpoints for accessing PipelineDeals services. ### Domain `https://api.pipelinedeals.com` ### Path `api/[version]/{endpoint}.[type]` ### API Type - Default ``` -------------------------------- ### Make Request with Default Authentication Source: https://github.com/simov/purest/blob/master/README.md Demonstrates making an API request after setting a default authentication token. The access token is automatically included, simplifying the request call. ```javascript var {res, body} = await google('youtube') .get('channels') .qs({forUsername: 'GitHub'}) .request() ``` -------------------------------- ### box API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the box API, including the domain and path structure. This allows users to interact with the box API using Purest. ```APIDOC ## box API ### Description Configuration details for the box API. ### Domain `https://api.box.com` ### Path *`[version]/{endpoint}`* *`oauth2/{endpoint}`* ### API __default oauth ### Domain `https://upload.box.com` ### Path *`api/[version]/{endpoint}`* ### API upload ### Domain `https://view-api.box.com` ### Path *`[version]/{endpoint}`* ### API view, view-api ### Domain `https://upload.view-api.box.com` ### Path *`[version]/{endpoint}`* ### API view-upload ### Domain `https://cloud.box.com` ### Path *`shared/static/{endpoint}`* ### API cloud, download ``` -------------------------------- ### Trello API Source: https://github.com/simov/purest/wiki/Providers Documentation for the Trello API, specifying the base domain and the general path structure for API endpoints. ```APIDOC ## Trello API ### Description Provides access to the Trello API, allowing interaction with boards, lists, cards, and users. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.trello.com/[version]/{endpoint}` ### Parameters #### Path Parameters - **version** (string) - Required - The API version (e.g., `1`). - **endpoint** (string) - Required - The specific API resource (e.g., `boards`, `cards`). ### Request Example ```json { "example": "GET https://api.trello.com/1/boards/boardId/lists" } ``` ### Response #### Success Response (200) - **data** (object/array) - The requested Trello data. #### Response Example ```json { "example": { "id": "boardId", "name": "Board Name", "lists": [...] } } ``` ``` -------------------------------- ### Freshbooks API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Freshbooks service. ```APIDOC ## Freshbooks API ### Description Endpoints for interacting with the Freshbooks service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://[subdomain].freshbooks.com/api/[version]/xml-in` ``` -------------------------------- ### Stormz API Source: https://github.com/simov/purest/wiki/Providers Provides access to Stormz platform features and data. ```APIDOC ## Stormz API ### Description Interact with the Stormz platform for various functionalities. ### Domain - `https://api.stormz.me` ### Path - `[version]/{endpoint}` ``` -------------------------------- ### Skyrock API Source: https://github.com/simov/purest/wiki/Providers Allows interaction with Skyrock platform features and content. ```APIDOC ## Skyrock API ### Description Interact with the Skyrock platform to manage blogs and user content. ### Domain - `https://api.skyrock.com` ### Path - `[version]/{endpoint}.[type]` ``` -------------------------------- ### Spotify API Source: https://github.com/simov/purest/wiki/Providers Provides access to Spotify's music catalog, user data, and playback controls. ```APIDOC ## Spotify API Endpoints ### Description Access Spotify's vast music library, manage user profiles, and control playback. ### Domains - `https://api.spotify.com` (Default API) - `https://accounts.spotify.com` (OAuth API) ### Paths - Default: `[version]/{endpoint}` - OAuth: `api/{endpoint}` ``` -------------------------------- ### Vend API (Default) Source: https://github.com/simov/purest/wiki/Providers Access to the default Vend API for managing point-of-sale data, products, and customers. ```APIDOC ## Vend API (Default) ### Description Provides access to Vend's point-of-sale system for managing inventory, sales transactions, customer data, and reporting. ### Method GET, POST, PUT, DELETE ### Endpoint `https://[subdomain].vendhq.com/api/{endpoint}` ### Parameters #### Path Parameters - **subdomain** (string) - Required - Your Vend HQ subdomain. - **endpoint** (string) - Required - The API resource (e.g., `products`, `sales`). ### Request Example ```json { "example": "GET https://my-store.vendhq.com/api/products" } ``` ### Response #### Success Response (200) - **data** (object/array) - Contains the requested Vend data. #### Response Example ```json { "example": { "products": [ { "id": "prod101", "name": "T-Shirt", "price": 25.00 }, ... ] } } ``` ``` -------------------------------- ### Request YouTube Data with Default Endpoint Configuration Source: https://github.com/simov/purest/blob/master/README.md Illustrates making a request to the YouTube API using a Google provider instance configured with a default endpoint. It specifies the API path, query parameters, and authentication. ```javascript var {res, body} = await google .get('youtube/v3/channels') .qs({forUsername: 'GitHub'}) .auth(token) .request() ``` -------------------------------- ### Moves API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Moves, including the base domain and path patterns for different API versions and authentication. ```APIDOC ## Moves API ### Description API endpoints for accessing Moves services, covering standard API calls and OAuth2 authentication. ### Domain `https://api.moves-app.com` ### Paths - `api/[version]/{endpoint}` - `oauth/[version]/access_{endpoint}` ### API Types - Default - OAuth ``` -------------------------------- ### PayPal API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for PayPal, including the base domain and path patterns for different API versions. ```APIDOC ## PayPal API ### Description API endpoints for accessing PayPal services, covering payments, vault, identity, invoicing, payment experience and notifications. ### Domain `https://api.paypal.com` ### Paths - `[version]/payments/{endpoint}` - `[version]/vault/{endpoint}` - `[version]/identity/openidconnect/{endpoint}` - `[version]/identity/openidconnect/{endpoint}service` - `[version]/invoicing/{endpoint}` - `[version]/payment-experience/{endpoint}` - `[version]/notifications/{endpoint}` ### API Types - Payments - Vault - Identity - OAuth - Invoicing - Payment-experience - Notifications ``` -------------------------------- ### Configure Google Provider with Explicit YouTube Endpoint Source: https://github.com/simov/purest/blob/master/README.md Demonstrates configuring the Google provider with an explicit endpoint for the YouTube API, allowing for versioning in the path. This enables more specific API access. ```javascript var {res, body} = await google('youtube') .get('channels') .qs({forUsername: 'GitHub'}) .auth(token) .request() ``` -------------------------------- ### JSON Configuration for Google Provider Source: https://github.com/simov/purest/blob/master/README.md A JSON object defining the default configuration for the Google provider, including the origin URL, path structure, and authorization headers. This is used for initializing Purest. ```json { "google": { "default": { "origin": "https://www.googleapis.com", "path": "{path}", "headers": { "authorization": "Bearer {auth}" } } } } ``` -------------------------------- ### oDesk API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for oDesk, including the base domain and path patterns for different API versions and authentication. ```APIDOC ## oDesk API ### Description API endpoints for accessing oDesk services, covering standard API calls, authentication, profiles and HR related endpoints. ### Domain `https://www.odesk.com` ### Paths - `api/{endpoint}.[type]` - `api/auth/[version]/{endpoint}.[type]` - `api/profiles/[version]/{endpoint}.[type]` - `api/hr/[version]/{endpoint}.[type]` ### API Types - Default - Auth - Profiles - HR ``` -------------------------------- ### amazon API Configuration Source: https://github.com/simov/purest/wiki/Providers Configuration details for the amazon API, including the domain and path structure. This allows users to interact with the amazon API using Purest. ```APIDOC ## amazon API ### Description Configuration details for the amazon API. ### Domain `https://api.amazon.com` ### Path *`{endpoint}`* *`auth/o2/{endpoint}`* ### API __default oauth ``` -------------------------------- ### GetPocket API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the GetPocket service. ```APIDOC ## GetPocket API ### Description Endpoints for interacting with the GetPocket service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://getpocket.com/[version]/{endpoint}` ``` -------------------------------- ### Accessing Purest Endpoints Source: https://github.com/simov/purest/blob/master/README.md Illustrates the different ways to access and specify endpoints when using the Purest library. This includes passing the endpoint as an argument to the instance, using the 'endpoint' method, or utilizing default method aliases. ```javascript // as argument to the Purest instance await google('youtube') // using the option name await google.endpoint('youtube') // or the default method alias defined for it await google.query('youtube') ``` -------------------------------- ### Kakao API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Kakao, including the base domain and path patterns for different API versions and authentication. ```APIDOC ## Kakao API ### Description API endpoints for accessing Kakao services, covering both standard API calls and OAuth authentication. ### Domain - `https://kapi.kakao.com` - `https://kauth.kakao.com` ### Paths - `[version]/{endpoint}` - `oauth/{endpoint}` ### API Types - Default - OAuth ``` -------------------------------- ### Jawbone API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Jawbone, including the base domain and path patterns for different API versions and authentication. ```APIDOC ## Jawbone API ### Description API endpoints for accessing Jawbone services, covering both standard API calls and OAuth2 authentication. ### Domain `https://jawbone.com` ### Paths - `nudge/api/[version]/{endpoint}` - `auth/oauth2/{endpoint}` ### API Types - Default - OAuth ``` -------------------------------- ### Uber API (Default) Source: https://github.com/simov/purest/wiki/Providers Documentation for the default Uber API, covering ride requests, trip history, and user profiles. ```APIDOC ## Uber API (Default) ### Description Access to the main Uber API for managing ride requests, viewing trip history, and retrieving user details. ### Method GET, POST, PUT, DELETE ### Endpoint `https://[subdomain].uber.com/[version]/{endpoint}` ### Parameters #### Path Parameters - **subdomain** (string) - Required - The specific Uber subdomain (e.g., `api`). - **version** (string) - Required - The API version (e.g., `v1.2`). - **endpoint** (string) - Required - The API resource (e.g., `requests`, `trips`). ### Request Example ```json { "example": "POST https://api.uber.com/v1.2/requests" } ``` ### Response #### Success Response (200) - **data** (object/array) - The response payload containing requested information. #### Response Example ```json { "example": { "status": "processing", "eta": 120, "fare": { "value": 15.50, "currency": "USD" } } } ``` ``` -------------------------------- ### Upwork API (Default) Source: https://github.com/simov/purest/wiki/Providers Access to the default Upwork API for managing jobs, freelancers, and projects. ```APIDOC ## Upwork API (Default) ### Description Enables interaction with the Upwork platform to find freelancers, post jobs, manage projects, and process payments. ### Method GET, POST, PUT, DELETE ### Endpoint `https://www.upwork.com/api/{endpoint}.[type]` ### Parameters #### Path Parameters - **endpoint** (string) - Required - The specific API resource (e.g., `jobs`, `freelancers`). - **type** (string) - Optional - The response format (e.g., `json`). ### Request Example ```json { "example": "GET https://www.upwork.com/api/jobs.json?q=ios+developer" } ``` ### Response #### Success Response (200) - **data** (object/array) - Contains the requested Upwork data. #### Response Example ```json { "example": { "jobs": [ { "job_id": "job123", "title": "iOS Developer Needed", "budget": { "amount": 500, "currency": "USD" } }, ... ] } } ``` ``` -------------------------------- ### Gitter API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Gitter service for API and stream. ```APIDOC ## Gitter API ### Description Endpoints for interacting with the Gitter service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.gitter.im/[version]/{endpoint}` `https://stream.gitter.im/[version]/{endpoint}` ``` -------------------------------- ### Plurk API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Plurk, including the base domain and path patterns. ```APIDOC ## Plurk API ### Description API endpoints for accessing Plurk services. ### Domain `http://www.plurk.com` ### Path `APP/{endpoint}` ### API Type - Default ``` -------------------------------- ### SoundCloud API Source: https://github.com/simov/purest/wiki/Providers Enables interaction with SoundCloud for music streaming and user management. ```APIDOC ## SoundCloud API Endpoints ### Description Interact with SoundCloud to manage tracks, users, and playlists, including OAuth authentication. ### Domains - `https://api.soundcloud.com` (Default API) - `https://api.soundcloud.com` (OAuth API) ### Paths - Default: `{endpoint}.[type]` - OAuth: `oauth2/{endpoint}` ``` -------------------------------- ### Mixcloud API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Mixcloud, including the base domain and path patterns. ```APIDOC ## Mixcloud API ### Description API endpoints for accessing Mixcloud services. ### Domain `https://api.mixcloud.com` ### Path `{endpoint}` ### API Type - Default ``` -------------------------------- ### GitLab API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the GitLab service for API and OAuth. ```APIDOC ## GitLab API ### Description Endpoints for interacting with the GitLab service. ### Method GET, POST, PUT, DELETE ### Endpoint `https://gitlab.com/api/[version]/{endpoint}` `https://gitlab.com/oauth/{endpoint}` ``` -------------------------------- ### Upwork API (Profiles) Source: https://github.com/simov/purest/wiki/Providers Access to Upwork API endpoints for retrieving and managing freelancer and client profiles. ```APIDOC ## Upwork API (Profiles) ### Description Allows fetching detailed information about freelancers and clients, including skills, experience, and ratings. ### Method GET ### Endpoint `https://www.upwork.com/api/profiles/[version]/{endpoint}.[type]` ### Parameters #### Path Parameters - **version** (string) - Required - The profiles API version (e.g., `v1`). - **endpoint** (string) - Required - The profiles resource (e.g., `freelancer`, `client`). - **type** (string) - Optional - The response format (e.g., `json`). ### Request Example ```json { "example": "GET https://www.upwork.com/api/profiles/v1/freelancer.json?user_id=freelancer123" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the profile information. #### Response Example ```json { "example": { "freelancer": { "user_id": "freelancer123", "first_name": "John", "last_name": "Doe", "skills": ["Java", "Android", "SQL"] } } } ``` ``` -------------------------------- ### Heroku API Source: https://github.com/simov/purest/wiki/Providers Endpoints for interacting with the Heroku Platform API and OAuth. ```APIDOC ## Heroku API ### Description Endpoints for interacting with the Heroku Platform API and OAuth. ### Method GET, POST, PUT, DELETE ### Endpoint `https://api.heroku.com/{endpoint}` `https://id.heroku.com/oauth/{endpoint}` ``` -------------------------------- ### SurveyGizmo API Source: https://github.com/simov/purest/wiki/Providers Provides access to SurveyGizmo for creating, distributing, and analyzing surveys. ```APIDOC ## SurveyGizmo API ### Description Create, manage, and analyze surveys, collect responses, and generate reports. ### Domain - `https://restapi.surveygizmo.com` ### Path - `[version]/{endpoint}` ``` -------------------------------- ### Podio API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Podio, including the base domain and path patterns and authentication. ```APIDOC ## Podio API ### Description API endpoints for accessing Podio services, covering standard API calls and OAuth2 authentication. ### Domain - `https://api.podio.com` - `https://podio.com` ### Paths - `{endpoint}` - `oauth/{endpoint}` ### API Types - Default - OAuth ``` -------------------------------- ### Debug API Requests with request-logs Source: https://github.com/simov/purest/blob/master/README.md Runs a Node.js script ('examples/file-name.js') with specific debug flags enabled for 'req', 'res', 'body', and 'json'. This allows detailed logging of request and response data for debugging purposes. ```bash DEBUG=req,res,body,json node examples/file-name.js 'example name' ``` -------------------------------- ### Rdio API Endpoints Source: https://github.com/simov/purest/wiki/Providers Describes the API endpoints for Rdio, including the base domain and path patterns and authentication. ```APIDOC ## Rdio API ### Description API endpoints for accessing Rdio services, covering standard API calls and OAuth2 authentication. ### Domain `https://services.rdio.com` ### Paths - `api/[version]/{endpoint}` - `oauth2/{endpoint}` ### API Types - Default - OAuth ``` -------------------------------- ### Trakt API Source: https://github.com/simov/purest/wiki/Providers Enables tracking of TV shows and movies, and accessing related metadata. ```APIDOC ## Trakt API Endpoints ### Description Track TV shows, movies, and your viewing progress, with options for authentication. ### Domains - `https://api-v2launch.trakt.tv` (Default API) - `https://api-v2launch.trakt.tv` (OAuth API) ### Paths - Default: `{endpoint}` - OAuth: `oauth/{endpoint}` ```