from engini import Engini
client = Engini() # reads ENGINI_API_KEY
# an omitted field slot keeps its stored value; "" clears it
client.auth_providers.update(12, provider_name="Acme Salesforce (prod)", field_values={"Key2": "your-new-client-secret"})import { Engini } from "@engini/sdk";
const client = new Engini(); // reads ENGINI_API_KEY
// an omitted field slot keeps its stored value; "" clears it
await client.authProviders.update(12, { providerName: "Acme Salesforce (prod)", fieldValues: { Key2: "your-new-client-secret" } });echo "your-new-client-secret" | engini connections auth-providers update 12 --name "Acme Salesforce (prod)" --field-stdin Key2const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
providerName: '<string>',
isDefault: true,
isSandbox: true,
status: 123,
scopesOverride: '<string>',
extraOptions: '<string>',
fieldValues: {}
})
};
fetch('https://api.engini.io/v1/auth-providers/{id}', 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.engini.io/v1/auth-providers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'providerName' => '<string>',
'isDefault' => true,
'isSandbox' => true,
'status' => 123,
'scopesOverride' => '<string>',
'extraOptions' => '<string>',
'fieldValues' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.engini.io/v1/auth-providers/{id}"
payload := strings.NewReader("{\n \"providerName\": \"<string>\",\n \"isDefault\": true,\n \"isSandbox\": true,\n \"status\": 123,\n \"scopesOverride\": \"<string>\",\n \"extraOptions\": \"<string>\",\n \"fieldValues\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.engini.io/v1/auth-providers/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"providerName\": \"<string>\",\n \"isDefault\": true,\n \"isSandbox\": true,\n \"status\": 123,\n \"scopesOverride\": \"<string>\",\n \"extraOptions\": \"<string>\",\n \"fieldValues\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engini.io/v1/auth-providers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"providerName\": \"<string>\",\n \"isDefault\": true,\n \"isSandbox\": true,\n \"status\": 123,\n \"scopesOverride\": \"<string>\",\n \"extraOptions\": \"<string>\",\n \"fieldValues\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"providerName": "<string>",
"applicationId": 123,
"sourceAuthenticationId": 123,
"isDefault": true,
"isSandbox": true,
"status": 123,
"connectorRemoved": true,
"noLongerSupported": true,
"connectionCount": 123,
"fields": [
{
"slot": "<string>",
"isPassword": true,
"isRequired": true,
"isReadOnly": true,
"inputType": 0,
"minValue": 123,
"maxValue": 123,
"label": "<string>",
"tooltip": "<string>",
"placeholder": "<string>",
"value": "<string>",
"hasValue": true
}
],
"fieldsNeedReview": true,
"applicationName": "<string>",
"applicationLogo": "<string>",
"sourceAuthenticationName": "<string>",
"scopesOverride": "<string>",
"extraOptions": "<string>"
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}Update an auth provider.
Only the fields present are changed. A field an OAuth option formula reads (such as a client id) cannot change while connections are signed in through the provider; other values, secrets included, can change at any time. clientId and clientSecret are not accepted (400).
from engini import Engini
client = Engini() # reads ENGINI_API_KEY
# an omitted field slot keeps its stored value; "" clears it
client.auth_providers.update(12, provider_name="Acme Salesforce (prod)", field_values={"Key2": "your-new-client-secret"})import { Engini } from "@engini/sdk";
const client = new Engini(); // reads ENGINI_API_KEY
// an omitted field slot keeps its stored value; "" clears it
await client.authProviders.update(12, { providerName: "Acme Salesforce (prod)", fieldValues: { Key2: "your-new-client-secret" } });echo "your-new-client-secret" | engini connections auth-providers update 12 --name "Acme Salesforce (prod)" --field-stdin Key2const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
providerName: '<string>',
isDefault: true,
isSandbox: true,
status: 123,
scopesOverride: '<string>',
extraOptions: '<string>',
fieldValues: {}
})
};
fetch('https://api.engini.io/v1/auth-providers/{id}', 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.engini.io/v1/auth-providers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'providerName' => '<string>',
'isDefault' => true,
'isSandbox' => true,
'status' => 123,
'scopesOverride' => '<string>',
'extraOptions' => '<string>',
'fieldValues' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.engini.io/v1/auth-providers/{id}"
payload := strings.NewReader("{\n \"providerName\": \"<string>\",\n \"isDefault\": true,\n \"isSandbox\": true,\n \"status\": 123,\n \"scopesOverride\": \"<string>\",\n \"extraOptions\": \"<string>\",\n \"fieldValues\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.engini.io/v1/auth-providers/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"providerName\": \"<string>\",\n \"isDefault\": true,\n \"isSandbox\": true,\n \"status\": 123,\n \"scopesOverride\": \"<string>\",\n \"extraOptions\": \"<string>\",\n \"fieldValues\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engini.io/v1/auth-providers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"providerName\": \"<string>\",\n \"isDefault\": true,\n \"isSandbox\": true,\n \"status\": 123,\n \"scopesOverride\": \"<string>\",\n \"extraOptions\": \"<string>\",\n \"fieldValues\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"providerName": "<string>",
"applicationId": 123,
"sourceAuthenticationId": 123,
"isDefault": true,
"isSandbox": true,
"status": 123,
"connectorRemoved": true,
"noLongerSupported": true,
"connectionCount": 123,
"fields": [
{
"slot": "<string>",
"isPassword": true,
"isRequired": true,
"isReadOnly": true,
"inputType": 0,
"minValue": 123,
"maxValue": 123,
"label": "<string>",
"tooltip": "<string>",
"placeholder": "<string>",
"value": "<string>",
"hasValue": true
}
],
"fieldsNeedReview": true,
"applicationName": "<string>",
"applicationLogo": "<string>",
"sourceAuthenticationName": "<string>",
"scopesOverride": "<string>",
"extraOptions": "<string>"
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}Authorizations
Enter your JWT token
Path Parameters
The auth provider id.
Body
The fields to change.
Updates an auth provider. Null fields are left unchanged.
New label.
New default flag.
New sandbox flag.
1 = active, 0 = disabled.
New scopes override; an empty string clears it.
New extra options (JSON object of strings); an empty string clears them.
"Set on provider" values to change, keyed by slot. A slot left out keeps its stored value; an empty string clears it.
Show child attributes
Show child attributes
Response
The updated auth provider.
An account's auth provider for one authentication method of one application: the values of the method's "Set on provider" connection fields, filled once and used by every connection signed in through it. A password field's value is write-only and never appears in a response.
Auth provider id.
The account's label for the provider.
The application (published connector) the provider belongs to.
The authentication method of the application this provider supplies an OAuth client for.
Whether this is the application's default provider: new connections to the application preselect it and its method. At most one per application.
Whether the provider is for the vendor's sandbox environment.
1 = active, 0 = disabled (no new sign-ins).
True when the application has been removed; the provider can then only be deleted.
True when the connector no longer allows auth providers on this method. Connections already signed in keep working; new sign-ins are refused.
Number of connections signed in through this provider.
The source method's "Set on provider" connection fields and their values on this provider. A password field never carries its value - only HasValue.
Show child attributes
Show child attributes
True when the provider fields need attention: the connector changed which fields are set on the provider (or whether one is secret) since the values were entered, or a required value is missing.
The application's name, when it is still available.
The application's logo file, when it is still available.
Display name of that authentication method.
Scopes that replace the method's own scope option; null keeps the method's scopes.
Additional non-URL OAuth options as a JSON object of strings.