{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"983cd561-33f9-4c6b-8ba3-051dd3548268","name":"One Church Software API","description":"Welcome to the One Church Software API!\n\nThis API reference provides information on available endpoints and how to interact with them. This allows a third party system to communicate with One Church to read and write data.\n\n**Note:** We will be adding more endpoints in future releases. Currently, most endpoints support reading of data, but we will also be adding additional ones which support writing data as well. Stay tuned! We'll announce any updates to the API here: [https://onechurchsoftware.releasenotes.io](https://onechurchsoftware.releasenotes.io)\n\n# Getting Started\n\nA One Church Software account is required to access the API. To learn more about our platform or to sign up for an account, visit our website at [https://www.onechurchsoftware.com.](https://)\n\n# Authentication / Authorization\n\n- The API utilizes an API Key for authentication. To generate or manage API Keys, log into your One Church account, and click on the API / Webhooks option in the cog menu in the top header.\n- Authorization (i.e. what data is accessible and which web services can be called) is determined by the access rights assigned to a given API Key.\n- The API Key is passed as a Header in the web service call. The Header key is Ocs-Api-Key and the value is the API key itself.\n- **Do not** expose the API Key publicly. It should only be used in server side code. Regenerate if you believe it has been compromised.\n    \n\n# Rate Limiting\n\nWeb service calls are throttled at 30 requests per 10 seconds per API key. All calls contain the following response headers which provide insight into an API key's current quota:\n\n- `Ocs-Rate-Limit-Remaining` - the number of requests remaining in the current time period window.\n- `Retry-After` - if rate limit was exceeded, the number of seconds to wait before being able to make more calls.\n    \n\nRequests that exceed the current limit will return an HTTP status 429.\n\n# Base URL\n\nThe base URL for all web services is structured as follows:\n\n`https://{{subdomain}}.onechurchsoftware.com/api`\n\n# Paging\n\nWeb services containing lists of records are returned in the format below to allow for easy paging through results.\n\n``` json\n{\n    \"total\": 100,\n    \"limit\": 25,\n    \"skip\": 0,\n    \"max\": 4,\n    \"data\": []\n}\n\n ```\n\n- total - the total number of records across all pages.\n- limit - the number of records to return per page.\n- skip - the number of records to skip.\n- max - the total number of pages across all results. A page is determined by the `limit` value.\n- data - the actual data. Schema is determined by the web service being called.\n    \n\nThese web services typically contain query parameters `limit` and `skip` to support paging. For example, if the page size (i.e. `limit`) is 25 records, to access the 3nd page of results, pass `limit=25` and `skip=50` as parameters. In other words, this will skip 50 records and return the next 25.\n\nThe skip can be calculated with the following formula: limit \\* (page - 1)\n\n# Filtering by Custom Fields\n\nSome endpoints (such as `/people` and `/groups` among others) support filtering by custom fields. These filters are passed as an array in the query string with the following general format:\n\n_custom\\[index\\]\\[property\\]_\n\n- index: the position in the array (zero based). Multiple custom field filters must be sequential (i.e. 0, 1, 2, etc).\n- property: depends on the data type of the custom field.\n    \n\n**Data Types**  \nAll data types have custom\\[index\\]\\[id\\] as a parameter which specifies the id of the custom field. In the information below, the index is shown as 0 as an example but should be replaced as appropriate.\n\n_number, currency, date_\n\n- custom\\[0\\]\\[start\\] - the lower range (inclusive)\n- custom\\[0\\]\\[end\\] - the upper range (inclusive)\n    \n\n_all other data types_\n\n- custom\\[0\\]\\[value\\] - the value to search for. For dropdowns, checkbox list, and radio button list, this is a comma delimited list of ids. If custom field is not required, include -1 if you want records without any value set.\n    \n\n**Example**  \nThe query string parameters below searches for a custom field which has an id of 34. This field has a data type of text in the system and we want to search for those that have the word rainbow. Since this is the first custom field filter, it is indexed by 0. Additional filters increment the index (i.e. 1, 2, etc.)\n\n_custom\\[0\\]\\[id\\]=34&custom\\[0\\]\\[value\\]=rainbow_\n\nAnother example showing a numeric range:\n\n_custom\\[0\\]\\[id\\]=10&custom\\[0\\]\\[start\\]=1&custom\\[0\\]\\[end\\]=99_\n\n# API Reference\n\nNote: all datetimes returned by a webservice are in UTC.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"3471522","collectionId":"983cd561-33f9-4c6b-8ba3-051dd3548268","publishedId":"2s946icrBg","public":true,"publicUrl":"https://documenter-api.postman.tech/view/3471522/2s946icrBg","privateUrl":"https://go.postman.co/documentation/3471522-983cd561-33f9-4c6b-8ba3-051dd3548268","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"0070a7"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/43bee0f3-fdee-4ac5-92ee-440634ea9986/b25lY2h1cmNoX2xvZ28ucG5n","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"0070a7"}},{"name":"light","logo":"https://content.pstmn.io/43bee0f3-fdee-4ac5-92ee-440634ea9986/b25lY2h1cmNoX2xvZ28ucG5n","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"0070a7"}}]}},"version":"8.11.4","publishDate":"2023-07-19T16:16:41.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/43bee0f3-fdee-4ac5-92ee-440634ea9986/b25lY2h1cmNoX2xvZ28ucG5n","logoDark":"https://content.pstmn.io/43bee0f3-fdee-4ac5-92ee-440634ea9986/b25lY2h1cmNoX2xvZ28ucG5n"}},"statusCode":200},"environments":[{"name":"Production","id":"3fc93f54-41e1-4902-a52e-09c4c305492d","owner":"3471522","values":[{"key":"base_url","value":"","enabled":true,"type":"default"},{"key":"api_key","value":"","enabled":true,"type":"default"}],"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":""},"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":"Production","value":"3471522-3fc93f54-41e1-4902-a52e-09c4c305492d"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s946icrBg"}