curl --request GET \
--url https://api.withampersand.com/v1/providers/{provider}import requests
url = "https://api.withampersand.com/v1/providers/{provider}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.withampersand.com/v1/providers/{provider}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.withampersand.com/v1/providers/{provider}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.withampersand.com/v1/providers/{provider}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.withampersand.com/v1/providers/{provider}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withampersand.com/v1/providers/{provider}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"name": "<string>",
"baseURL": "<string>",
"defaultModule": "<string>",
"support": {
"bulkWrite": {
"insert": true,
"update": true,
"upsert": true,
"delete": true
},
"proxy": true,
"read": true,
"subscribe": true,
"write": true,
"delete": true,
"search": {
"operators": {
"equals": true
}
},
"subscribeSupport": {
"create": true,
"update": true,
"delete": true,
"passThrough": true
},
"batchWrite": {
"delete": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
},
"create": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
},
"update": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
},
"upsert": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
}
}
},
"oauth2Opts": {
"tokenURL": "https://login.salesforce.com/services/oauth2/token",
"explicitScopesRequired": true,
"explicitWorkspaceRequired": true,
"tokenMetadataFields": {
"workspaceRefField": "account-id",
"consumerRefField": "user-id",
"scopesField": "scopes",
"otherFields": [
{
"name": "<string>",
"displayName": "<string>",
"path": "owner.siteId",
"capture": "https:\\/\\/(?<result>[^.]+)\\.docusign\\.net"
}
]
},
"authURL": "https://login.salesforce.com/services/oauth2/authorize",
"audience": [
"https://api.mparticle.com"
],
"scopeMappings": {
"default": "https://{{.workspace}}.api.com/default"
},
"docsURL": "https://docs.example.com/client-credentials",
"authURLParams": {
"access_type": "offline",
"duration": "permanent"
},
"accessTokenOpts": {
"attachmentType": "accessTokenHeaderAttachment",
"header": {
"name": "X-Access-Token",
"valuePrefix": "Bearer "
},
"docsURL": "https://docs.example.com/oauth2-access-token-usage"
}
},
"apiKeyOpts": {
"query": {
"name": "api_key"
},
"header": {
"name": "X-Api-Key",
"valuePrefix": "Bearer "
},
"docsURL": "https://docs.example.com/api-key"
},
"basicOpts": {
"apiKeyAsBasic": true,
"apiKeyAsBasicOpts": {
"fieldUsed": "username",
"keyFormat": "api:%s"
},
"docsURL": "https://docs.example.com/api-key"
},
"customOpts": {
"headers": [
{
"name": "X-Custom-Auth",
"valueTemplate": "Bearer {{ .token }}"
}
],
"queryParams": [
{
"name": "custom_auth",
"valueTemplate": "{{ .token }}"
}
],
"inputs": [
{
"name": "custom_auth_input",
"displayName": "Custom Auth Input",
"prompt": "See Authorization section of provider docs to obtain this value",
"docsURL": "https://docs.example.com/custom-auth-input"
}
]
},
"authHealthCheck": {
"url": "https://api.example.com/health-check",
"method": "GET",
"successStatusCodes": [
200,
204
]
},
"displayName": "Zendesk Chat",
"postAuthInfoNeeded": true,
"media": {
"regular": {
"iconURL": "https://example.com/icon.png",
"logoURL": "https://example.com/logo.png"
},
"darkMode": {
"iconURL": "https://example.com/icon.png",
"logoURL": "https://example.com/logo.png"
}
},
"labels": {},
"subscribeRequirements": {
"registration": true,
"maintenance": true,
"postProcess": true
},
"modules": {},
"metadata": {
"input": [
{
"name": "<string>",
"displayName": "<string>",
"prompt": "<string>",
"defaultValue": "<string>",
"docsURL": "https://example.com/how-to-find-subdomain",
"moduleDependencies": {}
}
],
"postAuthentication": [
{
"name": "<string>",
"moduleDependencies": {}
}
]
},
"providerAppMetadata": {
"authQueryParams": [
{
"name": "<string>",
"displayName": "<string>",
"prompt": "<string>",
"defaultValue": "<string>",
"docsURL": "https://example.com/how-to-find-subdomain",
"moduleDependencies": {}
}
],
"providerParams": [
{
"name": "<string>",
"displayName": "<string>",
"prompt": "<string>",
"defaultValue": "<string>",
"docsURL": "https://example.com/how-to-find-subdomain",
"moduleDependencies": {}
}
]
}
}{
"type": "urn:problem-type:exampleOrganization:exampleProblem",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Description of the type of problem that occurred",
"status": 400,
"detail": "Description of specific occurrence of the problem",
"instance": "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
}Get provider
Returns information about a single provider. No authentication is required.
curl --request GET \
--url https://api.withampersand.com/v1/providers/{provider}import requests
url = "https://api.withampersand.com/v1/providers/{provider}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.withampersand.com/v1/providers/{provider}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.withampersand.com/v1/providers/{provider}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.withampersand.com/v1/providers/{provider}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.withampersand.com/v1/providers/{provider}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withampersand.com/v1/providers/{provider}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"name": "<string>",
"baseURL": "<string>",
"defaultModule": "<string>",
"support": {
"bulkWrite": {
"insert": true,
"update": true,
"upsert": true,
"delete": true
},
"proxy": true,
"read": true,
"subscribe": true,
"write": true,
"delete": true,
"search": {
"operators": {
"equals": true
}
},
"subscribeSupport": {
"create": true,
"update": true,
"delete": true,
"passThrough": true
},
"batchWrite": {
"delete": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
},
"create": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
},
"update": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
},
"upsert": {
"supported": true,
"defaultRecordLimit": 123,
"objectRecordLimits": {}
}
}
},
"oauth2Opts": {
"tokenURL": "https://login.salesforce.com/services/oauth2/token",
"explicitScopesRequired": true,
"explicitWorkspaceRequired": true,
"tokenMetadataFields": {
"workspaceRefField": "account-id",
"consumerRefField": "user-id",
"scopesField": "scopes",
"otherFields": [
{
"name": "<string>",
"displayName": "<string>",
"path": "owner.siteId",
"capture": "https:\\/\\/(?<result>[^.]+)\\.docusign\\.net"
}
]
},
"authURL": "https://login.salesforce.com/services/oauth2/authorize",
"audience": [
"https://api.mparticle.com"
],
"scopeMappings": {
"default": "https://{{.workspace}}.api.com/default"
},
"docsURL": "https://docs.example.com/client-credentials",
"authURLParams": {
"access_type": "offline",
"duration": "permanent"
},
"accessTokenOpts": {
"attachmentType": "accessTokenHeaderAttachment",
"header": {
"name": "X-Access-Token",
"valuePrefix": "Bearer "
},
"docsURL": "https://docs.example.com/oauth2-access-token-usage"
}
},
"apiKeyOpts": {
"query": {
"name": "api_key"
},
"header": {
"name": "X-Api-Key",
"valuePrefix": "Bearer "
},
"docsURL": "https://docs.example.com/api-key"
},
"basicOpts": {
"apiKeyAsBasic": true,
"apiKeyAsBasicOpts": {
"fieldUsed": "username",
"keyFormat": "api:%s"
},
"docsURL": "https://docs.example.com/api-key"
},
"customOpts": {
"headers": [
{
"name": "X-Custom-Auth",
"valueTemplate": "Bearer {{ .token }}"
}
],
"queryParams": [
{
"name": "custom_auth",
"valueTemplate": "{{ .token }}"
}
],
"inputs": [
{
"name": "custom_auth_input",
"displayName": "Custom Auth Input",
"prompt": "See Authorization section of provider docs to obtain this value",
"docsURL": "https://docs.example.com/custom-auth-input"
}
]
},
"authHealthCheck": {
"url": "https://api.example.com/health-check",
"method": "GET",
"successStatusCodes": [
200,
204
]
},
"displayName": "Zendesk Chat",
"postAuthInfoNeeded": true,
"media": {
"regular": {
"iconURL": "https://example.com/icon.png",
"logoURL": "https://example.com/logo.png"
},
"darkMode": {
"iconURL": "https://example.com/icon.png",
"logoURL": "https://example.com/logo.png"
}
},
"labels": {},
"subscribeRequirements": {
"registration": true,
"maintenance": true,
"postProcess": true
},
"modules": {},
"metadata": {
"input": [
{
"name": "<string>",
"displayName": "<string>",
"prompt": "<string>",
"defaultValue": "<string>",
"docsURL": "https://example.com/how-to-find-subdomain",
"moduleDependencies": {}
}
],
"postAuthentication": [
{
"name": "<string>",
"moduleDependencies": {}
}
]
},
"providerAppMetadata": {
"authQueryParams": [
{
"name": "<string>",
"displayName": "<string>",
"prompt": "<string>",
"defaultValue": "<string>",
"docsURL": "https://example.com/how-to-find-subdomain",
"moduleDependencies": {}
}
],
"providerParams": [
{
"name": "<string>",
"displayName": "<string>",
"prompt": "<string>",
"defaultValue": "<string>",
"docsURL": "https://example.com/how-to-find-subdomain",
"moduleDependencies": {}
}
]
}
}{
"type": "urn:problem-type:exampleOrganization:exampleProblem",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Description of the type of problem that occurred",
"status": 400,
"detail": "Description of specific occurrence of the problem",
"instance": "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
}Path Parameters
The provider name (e.g. salesforce, hubspot).
Response
The requested provider.
The type of authentication required by the provider.
oauth2, apiKey, basic, jwt, custom, none The base URL for making API requests.
The supported features for the provider.
Show child attributes
Show child attributes
Configuration for OAuth2.0. Must be provided if authType is oauth2.
Show child attributes
Show child attributes
Configuration for API key. Must be provided if authType is apiKey.
Show child attributes
Show child attributes
Configuration for Basic Auth. Optional.
Show child attributes
Show child attributes
Configuration for custom auth. Optional.
Show child attributes
Show child attributes
A URL to check the health of a provider's credentials. It's used to see if the credentials are valid and if the provider is reachable.
Show child attributes
Show child attributes
The display name of the provider, if omitted, defaults to provider name.
"Zendesk Chat"
If true, we require additional information after auth to start making requests.
true
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Declares which auxiliary steps a provider requires to support subscriptions, beyond the per-object subscribe call itself.
Show child attributes
Show child attributes
The registry of provider modules.
Show child attributes
Show child attributes
Provider metadata that needs to be given by the user or fetched by the connector post authentication for the connector to work.
Show child attributes
Show child attributes
Describes the provider-app-level fields that the Ampersand dashboard should collect from the builder when creating a ProviderApp for this provider. These descriptors tell the dashboard which form fields to render; the submitted values are stored in ProviderApp.metadata.
Show child attributes
Show child attributes
Was this page helpful?

