{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"acdbfecd-eed4-4925-9266-a37f802b2193","name":"RaiseDonors API","description":"The RaiseDonors API uses the [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer) architectural style. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. We support [cross-origin resource sharing](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing), allowing you to interact securely with our API from a client-side web application. [JSON](http://www.json.org/) is returned by all API responses, including errors.\n\nThere is no test mode with our API. Only read or read/write keys that can be managed in your account.\n\nWe strongly encourage you to download [Postman](http://getpostman.com/downloads) and use our collection to get started. You can download the complete API collection to run and mock in Postman.\n\n# Setup\n\nTo get started consuming the API requires the setup one or more API applications in RaiseDonors and access for that application. It is possible to create API applications that only have read access to the data while others have Read/Write access.\n\nOnce logged in to RaiseDonors, go to the API menu section and click on applications. This is where the applications can be viewed and managed.\n\nAn application is a container that will hold multiple API license keys for read/write consumption of the API. It allows the consumer to be secure in the API calls that are made. It also allows RaiseDonors to keep metrics on the applications that are hitting the API -- which is particularly powerful in case malicious activity occurs.\n\nAPI applications are created to organize the different applications that the organization is developing that will be consuming the API.\n\n<img src=\"http://raisedonors.s3.amazonaws.com/images/rd-api-documentation-1.png\">\n\n1. In the menu is a section for the API. Here you will find all the navigation concerning the API.\n2. The organization key is important. It is necessary for the RaiseDonors API to identify the organization the request is for. The organization key will be passed with each request in the headers with the header name \"X-OrganizationKey\"\n3. The list of applications that have been created by the organization. Clicking on an application name will display the details about that application.\n4. To create a new application, click the \"+New Application\" button.\n    \n\n## Create New Application\n\nCreating a new API application consists of a title, a description and an indicator for if the API application is Active. It is possible to disable an application without deleting it.\n\n<img src=\"http://raisedonors.s3.amazonaws.com/images/rd-api-documentation-2.png\">\n\n1. Name each API application a unique name that quickly describes the application that is being built that will consume the API.\n2. Toggle whether the API application is active or not. If the API application is active, then the API keys that make up that application will be able to be used for API requests.\n3. The description allows for a more robust explanation of the purpose of the API application.\n4. Click the \"Save application\" button when all information is filled out.\n    \n\n_When an API application is not active, the API license keys for that application will not be able to be used for API requests._\n\n## Manage API Application\n\nWhen an API application is created and either (1) needs to be viewed or (2) license keys need to be managed for the API application: clicking the name of the API application from the \"Applications\" screen will show the details of the API application.\n\nManaging the API application will allow for the editing of the details of the application, managing the API license keys for that application, and the ability to delete the API application.\n\n<img src=\"http://raisedonors.s3.amazonaws.com/images/rd-api-documentation-3.png\">\n\n1. Edit the details of the API application (Name, description and whether it is active) by clicking \"Edit Details\".\n    \n\n1. The list of application license keys are shown here. The license key is necessary for all API requests.\n    \n\n1. New license keys can be created by clicking \"+ New License Key\"\n    \n\n1. Delete an API application by clicking \"Delete\".\n    \n\n_When an application is deleted, all license keys become revoked. At that point no license keys for that application will be able to be used for API requests._\n\n## API License Keys\n\nAPI license keys are what tell the API what data can be consumed and in what fashion. Creating multiple API license keys is beneficial as the license key itself can be revoked. Allowing for some API keys to be read only while some having the ability to write from the API will narrow the scope of each API license key.\n\n<img src=\"http://raisedonors.s3.amazonaws.com/images/rd-api-documentation-4.png\">\n\n1. Name the license key something unique that easily identifies the purpose of the API license key.\n    \n\n1. Identify if the license key is to be used for only reading data or if the license key has the ability to write data to the API.\n    \n\n1. Save the API key by clicking \"Save API key\".\n    \n\n1. When editing the license key, there is the ability to revoke the license key. Revoke the license key by clicking \"Revoke API key\".\n    \n\n# Authentication\n\nAll API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). Calls made over plain HTTP will fail. API requests without authentication will also fail.\n\nPassing appropriate headers for the API call is important in order to receive good responses back from the API. These headers should be considered \"secret\" pieces of information and not made publicly available.\n\n## Headers\n\n```\nContent-Type: application/json\nX-OrganizationKey: \nAuthorization: Basic \n\n ```\n\n| Key | Value |\n| --- | --- |\n| X-OrganizationKey | The organization key. It can be found on the \"Applications\" screen within RaiseDonors. Replace with the organization key found in RaiseDonors. |\n| Authorization | Header will be set to basic. Replace with the API license key from one of the API applications created in RaiseDonors. |\n\n# Pagination\n\nAll top-level GET API resources have support for bulk fetches. For instance, you can list donors, funds, donations, and campaigns. These GET API methods share a common structure, taking these two parameters: page, pageSize.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| page | Integer | The incremental page number for the request. If this value is not provided, a default \"1\" is used. |\n| pageSize | Integer | The number of records to return at a time from the requisition. If this value is not provided, a default \"20\" is used. There is an upper limit enforced at the server set to 200. |\n\nIf your account had 250 donors, and you wanted to retrieve the first  \n50 donors, you could use a call similar to,\n\n> [https://api.raisedonors.com/v1/donors?page=1&amp;pageSize=50](https://api.raisedonors.com/v1/donors?page=1&pageSize=50) \n  \n\nIf you wanted to view the donors from 200-210, you could use a call  \nsimilar to\n\n> [https://api.raisedonors.com/v1/donors?page=20&amp;pageSize=10](https://api.raisedonors.com/v1/donors?page=20&pageSize=10) \n  \n\nWhen pagination is in use, the response header will contain helpful information about the total number of records available. Look at the \"x-pagination\" element below.\n\nResponse Headers:\n\n```\ncontent-encoding:gzip\ncontent-type:application/json; charset=utf-8\ndate:Wed, 20 Sep 2017 13:41:15 GMT\nserver:cloudflare-nginx\nstatus:200\nx-pagination:{\"totalCount\":50,\"totalPages\":3,\"prevPageLink\":\"https://api.raisedonors.com/v1/donations?createdAfter=2017-1-1&createdBefore=2017-12-31&page=3&pageSize=20?page=2&pageSize=20\",\"nextPageLink\":\"\"}\nx-powered-by:ASP.NET\n\n ```\n\nThe table below outlines the information RaiseDonors will include with the x-pagination element in the response header.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| totalCount | Integer | The total number of records in the database. |\n| totalPages | Integer | The total number of pages available using the pageSize specified. |\n| prevPageLink | String | Url that can be called to retrieve the previous page, if one exits. |\n| nextPageLink | String | Url that can be called to retrieve the next page, if one exists. |\n\n# Throttling\n\nOur goal with throttling (aka API rate limiting) is that any API application under normal circumstances will never be throttled. Throttling is in place to protect API partners and RaiseDonors from A) attacks and B) programming errors in an app that lead to high levels of API calls that never end.  \nWhile throttling exists, default limits are more than sufficient for most API usage. To increase your throttling levels please contact [help@raisedonors.com](https://mailto:help@raisedonors.com).\n\nThrottling is not applicable to public endpoints. Public is defined by any endpoint successfully connecting without authentication. (such as \\~/public/widgets/\\*)\n\nThe following list is comprehensive meaning each rule is applicable and once a rule is broken, your request will be throttled. All requests are tallied cummuliatevely together.\n\ns = second. m = minute. h = hour. d = day.\n\n| Period | Limit | Description |\n| --- | --- | --- |\n| 1m | 100 | 100 requests per minute. |\n| 1h | 1,000 | 1,000 requests per hour. |\n| 1d | 4,000 | 4,000 requests per day. |\n\nFor example, if your requests are coming in at 50 per minute consistently, after 20 minutes (50 requests/min for 20 mintues = 1,000 requess) your requests will pass the limit of 1,000 per hour. Each additional request will be blocked. The header response will provide information on how long the block is in place for.\n\nYou are allowed a total of 4,000 requests per day.\n\nEach request will include the following header elements.\n\n```\nX-Rate-Limit-Limit: the rate limit period (eg. 1m, 12h, 1d)\nX-Rate-Limit-Remaining: number of request remaining \nX-Rate-Limit-Reset: UTC date time (ISO 8601) when the limits resets\n\n ```\n\nIf the request gets blocked then the client receives a text response like this:\n\n```\n{\n    \"message\": \"Rate limit exceeded quota.\",\n    \"details\": \"Maximum allowed: 2 per 1m. Please try again in 46 second(s).\"\n}\n\n ```\n\nAnd the header will contain an element, \"Retry After\" - which indicates the number of seconds to wait before trying agin.\n\n# Optional Parameters\n\nSome api end-points have optional parameters that can be used for various types of searching. If a end-point supports one or more of these optional parameters, it will be documented with the specific end-point object below.\n\n| Name | Type | Description |\n| --- | --- | --- |\n| createdAfter | Date (yyyy-mm-dd) | A date to start the search for objects (that have a dateCreated property). It gets objects where the created date is greater than or equal to this value. |\n| createdBefore | Date (yyyy-mm-dd) | A date to end the search for objects (that have a dateCreated property). It gets objects where the created date is less than or equal to this value. |\n| includeTestTransactions | Boolean (True/False) | A boolean to indicate if the endpoint should return both live and test transactions. The default if not provided is false. |\n| includeDetails | Boolean (True/False) | A boolean to indicate if the endpoint should return nested data for the object. For example, when a donor is retrieved, by default addresses are not included. Setting this value to true, the nested objects (address) will be included. The default if not provided is false. |\n| searchString | String | A provided value used to search key properties of objects in RaiseDonors. |\n| code | String | A user defined value for 'code' used in some objects in RaiseDonors. |\n| isActiveOnly | Boolean | Determines if Active vs InActive records are returned. |\n| modifiedOnOrAfter | Date (yyyy-mm-dd) | A date to start the search for objects (that have a lastModified property). It gets objects where the last modified date is greater than or equal to this value. |\n\nVarious end points below can use these optional parameters. Here are a few examples of how to use the optional parameters.\n\nIf you desired to retrieve any donations created in the month of July, you could use a call similar to,\n\n> [https://api.raisedonors.com/v1/donations?createdAfter=2017-7-1&amp;createdBefore=2017-7-31](https://api.raisedonors.com/v1/donations?createdAfter=2017-7-1&createdBefore=2017-7-31) \n  \n\nIf you desired to retrieve test donations along with real donations, you could use a call similar to,\n\n> [https://api.raisedonors.com/v1/donations?includeTestTransactions=true](https://api.raisedonors.com/v1/donations?includeTestTransactions=true) \n  \n\nIf you desired to retrieve donors with all objects expanded, you could use a call similar to,\n\n> [https://api.raisedonors.com/v1/donors?includeDetails=true](https://api.raisedonors.com/v1/donors?includeDetails=true) \n  \n\n# Static Objects\n\nSome objects in RaiseDonors have fixed values for names (Enumerators). Below is a list of the Enumerators in RaiseDonors.\n\n## Card Brand\n\n| Name | Value |\n| --- | --- |\n| American Express | 1 |\n| MasterCard | 2 |\n| Visa | 3 |\n| Discover | 4 |\n| Other | 5 |\n\n## Payment Tender Type\n\n| Name | Value |\n| --- | --- |\n| None | 0 |\n| Credit Card | 1 |\n| E-Check | 2 |\n| Cash | 4 |\n| Check | 5 |\n| Stock | 6 |\n| Other | 7 |\n| Plaid | 8 |\n| PayPal / Venmo | 9 |\n| Free | 10 |\n\n## Donation Status\n\n| Name | Value |\n| --- | --- |\n| Approved | 1 |\n| Declined | 2 |\n| Voided | 3 |\n| Refunded | 4 |\n| Error | 5 |\n| Held for Review | 6 |\n| Charge back | 7 |\n| Pending | 8 |\n| Disputed (won) | 9 |\n| Disputed | 10 |\n| Disputed (lost) | 11 |\n\n## Recurring Schedule Status\n\n| Name | Value |\n| --- | --- |\n| Active | 1 |\n| Cancelled | 2 |\n| Expired | 3 |\n| Suspended | 4 |\n| Terminated | 5 |\n| Error | 6 |\n\n## Recurring Frequencies\n\n| Name | Value |\n| --- | --- |\n| Weekly | 52 |\n| Monthly | 12 |\n| Quarterly | 4 |\n| Biannually | 2 |\n| Annually | 1 |\n| Other | 100 |\n\n## Address Type\n\n| Name | Value |\n| --- | --- |\n| Shipping | 1 |\n| Billing | 2 |\n| Technical | 3 |\n| Contact | 4 |\n\n## Webhook Subscription EventType\n\n| Name | Value |\n| --- | --- |\n| Donation.Created | 1 |\n| Donation.Edited | 2 |\n| Donor.Created | 3 |\n| Donor.Edited | 4 |\n| Donor.Deleted | 5 |\n| Schedule.Created | 6 |\n| Schedule.Edited | 7 |\n| Schedule.Deleted | 8 |\n| Fund.Created | 9 |\n| Fund.Edited | 10 |\n| Fund.Deleted | 11 |\n| Campaign.Created | 12 |\n| Campaign.Edited | 13 |\n| Campaign.Deleted | 14 |\n| Product.Created | 16 |\n| Product.Edited | 17 |\n| Product.Deleted | 18 |\n\n## Webhook Subscription Status\n\n| Name | Value |\n| --- | --- |\n| Active | 1 |\n| Paused | 2 |\n\n## Webhook Subscription Format\n\n| Name | Value |\n| --- | --- |\n| JSON | 1 |\n| XML | 2 |\n\n## AmountDisplayType\n\n| Name | Value |\n| --- | --- |\n| TextBox | 1 |\n| PrePopulatedAmount | 2 |\n| SuggestedAmounts | 3 |\n\n## FrequencyOptions\n\n| Name | Value |\n| --- | --- |\n| Recurring | 1 |\n| OneTime | 2 |\n| Either | 3 |\n\n## PaymentTenderSupported\n\n| Name | Value |\n| --- | --- |\n| CC | 1 |\n| ACH | 2 |\n| CcAndAch | 3 |\n\n## FundDisplayType\n\n| Name | Value |\n| --- | --- |\n| Single | 0 |\n| Multiple_TableLayout | 1 |\n| Fund_ShoppingCart | 2 |\n\n# (Empty) Requests\n\nTo help facilitate what JSON payloads need to include when creating objects thru the RaiseDonors API, for each object type you will find a \"Object (Empty)\" end point URL. Hitting this URL will return a skeleton JSON payload which you can then use for POST/PUT requests.\n\n# Sending POSTS\n\nWhen using the RaiseDonors API to create objects, the body of the request must be formatted as valid JSON. Send the body as raw, plain text JSON.\n\n# Date and Time Zone information\n\nAll date and time data sent or received to/from RaiseDonors' API should and will be in UTC (Universal) time. The format should be MM/DD/YYYY HH:MM:SS AM/PM. Example, for Christmas day, 3pm,  \n12/25/2019 03:00:00 PM\n\n# Versioning\n\nWhen we make backwards-incompatible changes to the API, we release new, 'versioned' versions. The current version is **'v1'**. Except for the Campaign endpoint, which has a **'v2'** version. When possible, always use the highest version, which will be the most current.\n\n# Errors\n\nRaiseDonors uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the `2xx` range indicate success. Codes in the `4xx` range indicate an error that failed given the information provided (e.g., a required parameter was omitted). Codes in the `5xx` range indicate an error with RaiseDonors servers (these are rare).\n\nThere will also be informational messages in the body of the response when an error occurs, giving you non-sensitive information into the reason behind the error.\n\n# Connection timeouts\n\nA connection timeout occurs when the network socket connection fails before you send or receive data. Connection timeouts are usually more manageable than stream timeouts because you know there is a problem right away. High network latency, high server load, saturation, or blockages on our remote server can lead to connectivity timeouts.\n\nYou can edit timeout values as needed in your own development code, but we typically recommend keeping the values low. For example, you might set the connection timeout as high as 60 seconds, but even that may be higher than necessary in most normal scenarios.\n\n# Downtime\n\nRaiseDonors’s API has a 99.9% uptime. We are rarely offline for planned maintenance. If we do have downtime, we will tweet information from @RaiseDonors and usually send an email.\n\n# Change log\n\n| Date | Description |\n| --- | --- |\n| Dec 1, 2022 | Add new parameters and more paging options for recurring schedule search endpoint. |\n| Oct 8, 2022 | Removed endpoint to get the EmailReceiptCopy for donations. |\n| July 9, 2021 | Add credit card expiration field as required to Donation endpoints. |\n| April 28, 2021 | Add support for donations submitted through API to trigger CRM integrations. |\n| Mar 24, 2021 | Add support for custom data items in a donation. A new element \"CustomDataItems\" is available. |\n| Feb 23, 2021 | Add support for donation.IsAnonymous. Add support for fund allocations to include a comment. |\n| Jan 8, 2021 | [Depricate donation endpoints](#17002270-aa7d-4065-88a2-bfcdcc1a9e2c), moving them to one large [\"search\" donation endpoint](#10340101-a417-44e2-9f2f-78dd390716d9). |\n| Aug 26, 2020 | Depricate Campaigns v1 endpoint. Introduce new \"product\" features and endpoints. |\n| Jul 15, 2020 | Add search capability to donors for null/empty crm keys. And for searching multiple meta key/values at once across funds. |\n| Jun 15, 2020 | Add isDeleted parameter for donation endpoints. |\n| May 28, 2020 | Schedule and donation endpoints now support admin feature to move objects to different donors. |\n| May 16, 2020 | API now follows settings for Country ISO and State ISO specifications |\n| Mar 3, 2020 | Create new endpoint for public querying of funds |\n| Feb 28, 2020 | Turn on rate limiting. Fix bug with \"amount\" vs \"amountInCents\" for recurring schedule endpoints. Introduce new endpoints to manage recurring schedules (delete & edit). |\n| Jan 31, 2020 | Reorganize layout of endpoints. Add new donation endpoints. |\n| Dec 12, 2019 | Add V2 Campaign endpoints |\n| Nov 24, 2019 | Add new public endpoints for summarized data |","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"4090760","collectionId":"acdbfecd-eed4-4925-9266-a37f802b2193","publishedId":"Uz5FLHSp","public":true,"publicUrl":"https://docs.raisedonors.com","privateUrl":"https://go.postman.co/documentation/4090760-acdbfecd-eed4-4925-9266-a37f802b2193","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.11.2","publishDate":"2022-06-02T14:22:06.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"PUBLIC DEMO","id":"97dcfe7e-873c-442b-bc35-6e4fff9e3431","owner":"4090760","values":[{"key":"X-OrganizationKey","value":"123456789","enabled":true},{"key":"LicenseKey","value":"24848485757584hasfljghadflhjf","enabled":true},{"key":"api-environment","value":"https://api.raisedonors.com","enabled":true},{"key":"startDate","value":"04-01-2022","enabled":true},{"key":"endDate","value":"12-05-2023","enabled":true},{"key":"page","value":"1","enabled":true},{"key":"pageSize","value":"20","enabled":true},{"key":"donor-id","value":"116256","enabled":true},{"key":"donation-id","value":"207289","enabled":true},{"key":"campaign-id","value":"12286","enabled":true},{"key":"fund-id","value":"13834","enabled":true},{"key":"include-test-donations","value":"true","enabled":true},{"key":"gateway-id","value":"1","enabled":true},{"key":"schedule-id","value":"6217533","enabled":true},{"key":"schedule-number","value":"6217533","enabled":true},{"key":"orgId","value":"20014","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://raisedonors.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"PUBLIC DEMO","value":"4090760-97dcfe7e-873c-442b-bc35-6e4fff9e3431"}],"canonicalUrl":"https://docs.raisedonors.com/view/metadata/Uz5FLHSp"}