Kinde Management API v1
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Welcome to Kinde’s Management API docs. This is your library of API requests and responses.
If you haven’t already connected your app to our API, you’ll need to do these tasks first:
- Add a machine to machine application for API access
- Get access token for connecting
- Test the connection — we show you how in Postman
Once you’re connected, you can browse the API library for what you need.
Base URLs
Make sure you use your own Kinde domain as the base URL wherever you see http://{businessName}.kinde.com.
To find this in Kinde, go to Settings > Applications > View details (on the relevant app) and copy it from the App keys > Domain field.
Need more help?
Reach out in the Kinde community on Slack
Email support@kinde.com
Authentication
To access endpoints in the API, you need to go through the three set up steps above.
To access the OAuth endpoint, use the token obtained when your users sign in via the methods you've setup in Kinde (e.g. google, passwordless, etc). Find this using the getToken command in the relevant SDK.
Users
Everything about your end-users.
List Users
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/users',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/users HTTP/1.1
Accept: application/json
GET /api/v1/users
The returned list can be sorted by full name or email address
in ascending or descending order. The number of records to return at a time can also be controlled using the page_size
query
string parameter.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
user_id | query | string | false | ID of the user to filter by. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
query | string | false | Filter the results by email address. The query string should be comma separated and url encoded. | |
expand | query | string | false | Specify additional data to retrieve. Use "organizations" and/or "identities". |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
sort | email_asc |
sort | email_desc |
Example responses
200 Response
{
"code": "string",
"message": "string",
"users": [
{
"id": "string",
"provided_id": "string",
"email": "string",
"last_name": "string",
"first_name": "string",
"is_suspended": true,
"picture": "string",
"total_sign_ins": 0,
"failed_sign_ins": 0,
"last_signed_in": "string",
"created_on": "string",
"organizations": [
"string"
],
"identities": [
{
"type": "string",
"identity": "string"
}
]
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Users successfully retrieved. | users_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Refresh User Claims and Invalidate Cache
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/users/{user_id}/refresh_claims',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/users/{user_id}/refresh_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/users/{user_id}/refresh_claims HTTP/1.1
Accept: application/json; charset=utf-8
POST /api/v1/users/{user_id}/refresh_claims
Refreshes the user's claims and invalidates the current cache.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
user_id | path | string | true | The id of the user whose claims needs to be updated. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Claims successfully refreshed. | success_response |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Bad request. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Get User
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/user?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/user", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/user?id=string HTTP/1.1
Accept: application/json
GET /api/v1/user
Retrieve a user record.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | query | string | true | The user's id. |
expand | query | string | false | Specify additional data to retrieve. Use "organizations" and/or "identities". |
Example responses
200 Response
{
"id": "string",
"provided_id": "string",
"preferred_email": "string",
"last_name": "string",
"first_name": "string",
"is_suspended": true,
"picture": "string",
"total_sign_ins": 0,
"failed_sign_ins": 0,
"last_signed_in": "string",
"created_on": "string",
"organizations": [
"string"
],
"identities": [
{
"type": "string",
"identity": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User successfully updated. | user |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Create User
Code samples
const inputBody = '{
"profile": {
"given_name": "string",
"family_name": "string"
},
"identities": [
{
"type": "email",
"details": {
"email": "string"
}
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/user',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/user", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/user HTTP/1.1
Content-Type: application/json
Accept: application/json
POST /api/v1/user
Creates a user record and optionally zero or more identities for the user. An example identity could be the email address of the user.
Body parameter
{
"profile": {
"given_name": "string",
"family_name": "string"
},
"identities": [
{
"type": "email",
"details": {
"email": "string"
}
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | The details of the user to create. |
» profile | body | object | false | Basic information required to create a user. |
»» given_name | body | string | false | User's first name. |
»» family_name | body | string | false | User's last name. |
» identities | body | [object] | false | Array of identities to assign to the created user |
»» type | body | string | false | The type of identity to create, for e.g. email. |
»» details | body | object | false | Additional details required to create the user. |
body | string | false | The email address of the user. |
Enumerated Values
Parameter | Value |
---|---|
»» type |
Example responses
200 Response
{
"id": "string",
"created": true,
"identities": [
{
"type": "string",
"result": {
"created": true
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User successfully created. | create_user_response |
400 | Bad Request | Error creating user. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update User
Code samples
const inputBody = '{
"given_name": "string",
"family_name": "string",
"is_suspended": true,
"is_password_reset_requested": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/user',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/user", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/user HTTP/1.1
Content-Type: application/json
Accept: application/json
PATCH /api/v1/user
Update a user record.
Body parameter
{
"given_name": "string",
"family_name": "string",
"is_suspended": true,
"is_password_reset_requested": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | query | string | false | The user's id. |
body | body | object | true | The user to update. |
» given_name | body | string | false | User's first name. |
» family_name | body | string | false | User's last name. |
» is_suspended | body | boolean | false | Whether the user is currently suspended or not. |
» is_password_reset_requested | body | boolean | false | Prompt the user to change their password on next sign in. |
Example responses
200 Response
{
"id": "string",
"given_name": "string",
"family_name": "string",
"email": "string",
"is_suspended": true,
"is_password_reset_requested": true,
"picture": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User successfully updated. | update_user_response |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete User
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/user?id=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/user", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/user?id=string HTTP/1.1
Accept: application/json
DELETE /api/v1/user
Delete a user record.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | query | string | true | The user's id. |
is_delete_profile | query | boolean | false | Delete all data and remove the user's profile from all of Kinde, including the subscriber list |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User successfully deleted. | success_response |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update User Feature Flag Override
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/users/{user_id}/feature_flags/{feature_flag_key}?value=string',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/users/{user_id}/feature_flags/{feature_flag_key}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/users/{user_id}/feature_flags/{feature_flag_key}?value=string HTTP/1.1
Accept: application/json
PATCH /api/v1/users/{user_id}/feature_flags/{feature_flag_key}
Update user feature flag override.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
user_id | path | string | true | The identifier for the user |
feature_flag_key | path | string | true | The identifier for the feature flag |
value | query | string | true | Override value |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag override successfully updated. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
OAuth
Get User Profile
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/oauth2/user_profile',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/oauth2/user_profile", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/oauth2/user_profile HTTP/1.1
Accept: application/json
GET /oauth2/user_profile
Contains the id, names and email of the currently logged in user.
Example responses
200 Response
{
"id": "string",
"preferred_email": "string",
"provided_id": "string",
"last_name": "string",
"first_name": "string",
"picture": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Details of logged in user V1. | user_profile |
403 | Forbidden | Invalid credentials. | None |
Get token details
Code samples
const inputBody = '{
"token": "string",
"token_type": "string"
}';
const headers = {
'Content-Type':'application/x-www-form-urlencoded',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/oauth2/introspect',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/x-www-form-urlencoded"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/oauth2/introspect", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/oauth2/introspect HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: application/json
POST /oauth2/introspect
Retrieve information about the provided token.
Body parameter
token: string
token_type: string
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | true | Token details. |
» token | body | string | false | The token to be introspected. |
» token_type | body | string | false | The provided token's type. |
Example responses
200 Response
{
"active": true,
"aud": [
"string"
],
"client_id": "string",
"exp": "string",
"iat": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Details of the token. | token_introspect |
401 | Unauthorized | Bad request. | token_error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Revoke token
Code samples
const inputBody = '{
"token": "string",
"client_id": "string",
"client_secret": "string"
}';
const headers = {
'Content-Type':'application/x-www-form-urlencoded',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/oauth2/revoke',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/x-www-form-urlencoded"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/oauth2/revoke", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/oauth2/revoke HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: application/json
POST /oauth2/revoke
Revoke a previously issued token.
Body parameter
token: string
client_id: string
client_secret: string
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | true | Details of the token to be revoked. |
» token | body | string | false | The token to be revoked. |
» client_id | body | string | false | The identifier for your client. |
» client_secret | body | string | false | The secret associated with your client. |
Example responses
401 Response
{
"error": "string",
"error_description": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Token successfully revoked. | None |
401 | Unauthorized | Bad request. | token_error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Returns the details of the currently logged in user
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/oauth2/v2/user_profile',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/oauth2/v2/user_profile", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/oauth2/v2/user_profile HTTP/1.1
Accept: application/json
GET /oauth2/v2/user_profile
Contains the id, names, profile picture URL and email of the currently logged in user.
Example responses
200 Response
{
"id": "string",
"sub": "string",
"provided_id": "string",
"name": "string",
"given_name": "string",
"family_name": "string",
"updated_at": 0,
"email": "string",
"picture": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Details of logged in user V2. | user_profile_v2 |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Subscribers
List Subscribers
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/subscribers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/subscribers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/subscribers HTTP/1.1
Accept: application/json; charset=utf-8
GET /api/v1/subscribers
The returned list can be sorted by full name or email address
in ascending or descending order. The number of records to return at a time can also be controlled using the page_size
query
string parameter.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
sort | email_asc |
sort | email_desc |
Example responses
200 Response
{
"code": "string",
"message": "string",
"subscribers": [
{
"id": "string",
"email": "string",
"full_name": "string",
"first_name": "string",
"last_name": "string"
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Subscriber successfully retrieved. | get_subscribers_response |
403 | Forbidden | Bad request. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Create Subscriber
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/subscribers?first_name=string&last_name=string&email=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/subscribers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/subscribers?first_name=string&last_name=string&email=string HTTP/1.1
Accept: application/json; charset=utf-8
POST /api/v1/subscribers
Create subscriber.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
first_name | query | string | true | Subscriber's first name. |
last_name | query | string | true | Subscriber's last name. |
query | string | true | The email address of the subscriber. |
Example responses
201 Response
{
"subscriber": {
"subscriber_id": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Subscriber successfully created | create_subscriber_success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Get Subscriber
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/subscribers/{subscriber_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/subscribers/{subscriber_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/subscribers/{subscriber_id} HTTP/1.1
Accept: application/json; charset=utf-8
GET /api/v1/subscribers/{subscriber_id}
Retrieve a subscriber record.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
subscriber_id | path | string | true | The subscriber's id. |
Example responses
200 Response
{
"code": "string",
"message": "string",
"subscribers": [
{
"id": "string",
"preferred_email": "string",
"first_name": "string",
"last_name": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Subscriber successfully retrieved. | get_subscriber_response |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Organizations
Get Organization
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organization',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/organization HTTP/1.1
Accept: application/json
GET /api/v1/organization
Gets an organization given the organization's code.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
code | query | string | false | The organization's code. |
Example responses
200 Response
{
"code": "string",
"name": "string",
"is_default": true,
"external_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Organization successfully retrieved. | organization |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Create Organization
Code samples
const inputBody = '{
"name": "string",
"feature_flags": {
"property1": "str",
"property2": "str"
},
"external_id": "string",
"background_color": "string",
"button_color": "string",
"button_text_color": "string",
"link_color": "string",
"handle": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organization',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/organization HTTP/1.1
Content-Type: application/json
Accept: application/json
POST /api/v1/organization
Create an organization.
Body parameter
{
"name": "string",
"feature_flags": {
"property1": "str",
"property2": "str"
},
"external_id": "string",
"background_color": "string",
"button_color": "string",
"button_text_color": "string",
"link_color": "string",
"handle": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | Organization details. |
» name | body | string | false | The organization's name. |
» feature_flags | body | object | false | The organization's feature flag settings. |
»» additionalProperties | body | string | false | Value of the feature flag. |
» external_id | body | string | false | The organization's ID. |
» background_color | body | string | false | The organization's brand settings - background color. |
» button_color | body | string | false | The organization's brand settings - button color. |
» button_text_color | body | string | false | The organization's brand settings - button text color. |
» link_color | body | string | false | The organization's brand settings - link color. |
» handle | body | string | false | The organization's handle. |
Enumerated Values
Parameter | Value |
---|---|
»» additionalProperties | str |
»» additionalProperties | int |
»» additionalProperties | bool |
Example responses
200 Response
{
"message": "string",
"code": "string",
"organization": {
"code": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Organization successfully created. | create_organization_response |
400 | Bad Request | Error creating user. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
500 | Internal Server Error | Could not create organization. | None |
Update Organization
Code samples
const inputBody = '{
"name": "string",
"external_id": "string",
"background_color": "string",
"button_color": "string",
"button_text_color": "string",
"link_color": "string",
"handle": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organization/{org_code}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/organization/{org_code}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/organization/{org_code} HTTP/1.1
Content-Type: application/json
Accept: application/json
PATCH /api/v1/organization/{org_code}
Update an organization.
Body parameter
{
"name": "string",
"external_id": "string",
"background_color": "string",
"button_color": "string",
"button_text_color": "string",
"link_color": "string",
"handle": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The identifier for the organization. |
body | body | object | false | Organization details. |
» name | body | string | false | The organization's name. |
» external_id | body | string | false | The organization's ID. |
» background_color | body | string | false | The organization's brand settings - background color. |
» button_color | body | string | false | The organization's brand settings - button color. |
» button_text_color | body | string | false | The organization's brand settings - button text color. |
» link_color | body | string | false | The organization's brand settings - link color. |
» handle | body | string | false | The organization's handle. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Organization successfully updated. | success_response |
400 | Bad Request | Error updating organization. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Organization
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organization/{org_code}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/organization/{org_code}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/organization/{org_code} HTTP/1.1
Accept: application/json
DELETE /api/v1/organization/{org_code}
Delete an organization.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The identifier for the organization. |
Example responses
400 Response
{
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Organization successfully deleted. | None |
400 | Bad Request | Error deleting organization. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
List Organizations
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/organizations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/organizations HTTP/1.1
Accept: application/json
GET /api/v1/organizations
Get a list of organizations.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
sort | email_asc |
sort | email_desc |
Example responses
200 Response
{
"code": "string",
"message": "string",
"organizations": [
{
"code": "string",
"name": "string",
"is_default": true,
"external_id": "string"
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response with a list of organizations or an empty list. | get_organizations_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
List Organization Users
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users HTTP/1.1
Accept: application/json
GET /api/v1/organizations/{org_code}/users
Get users in an organization.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
org_code | path | string | true | The organization's code. |
permissions | query | string | false | Filter by user permissions comma separated (where all match) |
roles | query | string | false | Filter by user roles comma separated (where all match) |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
sort | email_asc |
sort | email_desc |
Example responses
200 Response
{
"code": "string",
"message": "string",
"organization_users": [
{
"id": "string",
"email": "string",
"full_name": "string",
"last_name": "string",
"first_name": "string",
"roles": [
"string"
]
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response with a list of organization users or an empty list. | get_organization_users_response |
400 | Bad Request | Error creating user | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Add Organization Users
Code samples
const inputBody = '{
"users": [
{
"id": "string",
"roles": [
"string"
],
"permissions": [
"string"
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users HTTP/1.1
Content-Type: application/json
Accept: application/json
POST /api/v1/organizations/{org_code}/users
Add existing users to an organization.
Body parameter
{
"users": [
{
"id": "string",
"roles": [
"string"
],
"permissions": [
"string"
]
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
body | body | object | false | none |
» users | body | [object] | false | Users to be added to the organization. |
»» id | body | string | false | The users id. |
»» roles | body | [string] | false | Role keys to assign to the user. |
»» permissions | body | [string] | false | Permission keys to assign to the user. |
Example responses
200 Response
{
"code": "string",
"message": "string",
"users_added": [
"string"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Users successfully added. | add_organization_users_response |
204 | No Content | No users added. | None |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update Organization Users
Code samples
const inputBody = '{
"users": [
{
"id": "string",
"operation": "string",
"roles": [
"string"
],
"permissions": [
"string"
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users HTTP/1.1
Content-Type: application/json
Accept: application/json
PATCH /api/v1/organizations/{org_code}/users
Update users that belong to an organization.
Body parameter
{
"users": [
{
"id": "string",
"operation": "string",
"roles": [
"string"
],
"permissions": [
"string"
]
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
body | body | object | false | none |
» users | body | [object] | false | Users to add, update or remove from the organization. |
»» id | body | string | false | The users id. |
»» operation | body | string | false | Optional operation, set to 'delete' to remove the user from the organization. |
»» roles | body | [string] | false | Role keys to assign to the user. |
»» permissions | body | [string] | false | Permission keys to assign to the user. |
Example responses
200 Response
{
"message": "string",
"users_added": [
"string"
],
"users_updated": [
"string"
],
"users_removed": [
"string"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Users successfully removed. | update_organization_users_response |
400 | Bad Request | Error updating organization user. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
List Organization User Roles
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles HTTP/1.1
Accept: application/json
GET /api/v1/organizations/{org_code}/users/{user_id}/roles
Get roles for an organization user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
user_id | path | string | true | The user's id. |
Example responses
200 Response
{
"code": "string",
"message": "string",
"roles": [
{
"id": "string",
"key": "string",
"name": "string"
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response with a list of user roles. | get_organizations_user_roles_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Add Organization User Role
Code samples
const inputBody = '{
"role_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles HTTP/1.1
Content-Type: application/json
Accept: application/json
POST /api/v1/organizations/{org_code}/users/{user_id}/roles
Add role to an organization user.
Body parameter
{
"role_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
user_id | path | string | true | The user's id. |
body | body | object | true | Role details. |
» role_id | body | string | false | The role id. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Role successfully added. | success_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Organization User Role
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles/{role_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles/{role_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/roles/{role_id} HTTP/1.1
Accept: application/json
DELETE /api/v1/organizations/{org_code}/users/{user_id}/roles/{role_id}
Delete role for an organization user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
user_id | path | string | true | The user's id. |
role_id | path | string | true | The role id. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User successfully removed. | success_response |
400 | Bad Request | Error creating user. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
List Organization User Permissions
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions HTTP/1.1
Accept: application/json
GET /api/v1/organizations/{org_code}/users/{user_id}/permissions
Get permissions for an organization user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
user_id | path | string | true | The user's id. |
expand | query | string | false | Specify additional data to retrieve. Use "roles". |
Example responses
200 Response
{
"code": "string",
"message": "string",
"permissions": [
{
"id": "string",
"key": "string",
"name": "string",
"description": "string",
"roles": [
{
"id": "string",
"key": "string"
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response with a list of user permissions. | get_organizations_user_permissions_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Add Organization User Permission
Code samples
const inputBody = '{
"permission_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions HTTP/1.1
Content-Type: application/json
Accept: application/json
POST /api/v1/organizations/{org_code}/users/{user_id}/permissions
Add permission to an organization user.
Body parameter
{
"permission_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
user_id | path | string | true | The user's id. |
body | body | object | true | Permission details. |
» permission_id | body | string | false | The permission id. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User permission successfully updated. | success_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Organization User Permission
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions/{permission_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions/{permission_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}/permissions/{permission_id} HTTP/1.1
Accept: application/json
DELETE /api/v1/organizations/{org_code}/users/{user_id}/permissions/{permission_id}
Delete permission for an organization user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
user_id | path | string | true | The user's id. |
permission_id | path | string | true | The permission id. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User successfully removed. | success_response |
400 | Bad Request | Error creating user. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Remove Organization User
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/organizations/{org_code}/users/{user_id} HTTP/1.1
Accept: application/json
DELETE /api/v1/organizations/{org_code}/users/{user_id}
Remove user from an organization.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The organization's code. |
user_id | path | string | true | The user's id. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User successfully removed from organization | success_response |
400 | Bad Request | Error removing user | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
List Organization Feature Flags
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags HTTP/1.1
Accept: application/json
GET /api/v1/organizations/{org_code}/feature_flags
Get all organization feature flags.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The identifier for the organization. |
Example responses
200 Response
{
"code": "string",
"message": "string",
"feature_flags": {
"property1": {
"type": "str",
"value": "string"
},
"property2": {
"type": "str",
"value": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag overrides successfully returned. | get_organization_feature_flags_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Organization Feature Flag Overrides
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags HTTP/1.1
Accept: application/json
DELETE /api/v1/organizations/{org_code}/feature_flags
Delete all organization feature flag overrides.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The identifier for the organization. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag overrides successfully deleted. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Organization Feature Flag Override
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags/{feature_flag_key} HTTP/1.1
Accept: application/json
DELETE /api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}
Delete organization feature flag override.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The identifier for the organization. |
feature_flag_key | path | string | true | The identifier for the feature flag. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag override successfully deleted. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update Organization Feature Flag Override
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}?value=string',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}?value=string HTTP/1.1
Accept: application/json
PATCH /api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}
Update organization feature flag override.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_code | path | string | true | The identifier for the organization |
feature_flag_key | path | string | true | The identifier for the feature flag |
value | query | string | true | Override value |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag override successfully updated. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Connected Apps
Get Connected App URL
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/connected_apps/auth_url?key_code_ref=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/connected_apps/auth_url", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/connected_apps/auth_url?key_code_ref=string HTTP/1.1
Accept: application/json
GET /api/v1/connected_apps/auth_url
Get a URL that authenticates and authorizes a user to a third-party connected app.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
key_code_ref | query | string | true | The unique key code reference of the connected app to authenticate against. |
user_id | query | string | false | The id of the user that needs to authenticate to the third-party connected app. |
org_code | query | string | false | The code of the Kinde organization that needs to authenticate to the third-party connected app. |
Example responses
200 Response
{
"url": "string",
"session_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A URL that can be used to authenticate and a session id to identify this authentication session. | connected_apps_auth_url |
400 | Bad Request | Error retrieving connected app auth url. | error_response |
403 | Forbidden | Invalid credentials. | None |
404 | Not Found | Error retrieving connected app auth url. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Get Connected App Token
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/connected_apps/token?session_id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/connected_apps/token", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/connected_apps/token?session_id=string HTTP/1.1
Accept: application/json
GET /api/v1/connected_apps/token
Get an access token that can be used to call the third-party provider linked to the connected app.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
session_id | query | string | true | The unique sesssion id reprensenting the login session of a user. |
Example responses
200 Response
{
"access_token": "string",
"access_token_expiry": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | An access token that can be used to query a third-party provider, as well as the token's expiry time. | connected_apps_access_token |
400 | Bad Request | The session id provided points to an invalid session. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Revoke Connected App Token
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/connected_apps/revoke?session_id=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/connected_apps/revoke", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/connected_apps/revoke?session_id=string HTTP/1.1
Accept: application/json
POST /api/v1/connected_apps/revoke
Revoke the tokens linked to the connected app session.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
session_id | query | string | true | The unique sesssion id reprensenting the login session of a user. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | An access token that can be used to query a third-party provider, as well as the token's expiry time. | success_response |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
405 | Method Not Allowed | Invalid HTTP method used. | None |
429 | Too Many Requests | Request was throttled. | None |
Feature Flags
Create Feature Flag
Code samples
const inputBody = '{
"name": "string",
"description": "string",
"key": "string",
"type": "str",
"allow_override_level": "env",
"default_value": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/feature_flags',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/feature_flags", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/feature_flags HTTP/1.1
Content-Type: application/json
Accept: application/json
POST /api/v1/feature_flags
Create feature flag.
Body parameter
{
"name": "string",
"description": "string",
"key": "string",
"type": "str",
"allow_override_level": "env",
"default_value": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | true | Flag details. |
» name | body | string | true | The name of the flag. |
» description | body | string | false | Description of the flag purpose. |
» key | body | string | true | The flag identifier to use in code. |
» type | body | string | true | The variable type. |
» allow_override_level | body | string | false | Allow the flag to be overridden at a different level. |
» default_value | body | string | true | Default value for the flag used by environments and organizations. |
Enumerated Values
Parameter | Value |
---|---|
» type | str |
» type | int |
» type | bool |
» allow_override_level | env |
» allow_override_level | org |
» allow_override_level | usr |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Feature flag successfully created | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Feature Flag
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/feature_flags/{feature_flag_key}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/feature_flags/{feature_flag_key}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/feature_flags/{feature_flag_key} HTTP/1.1
Accept: application/json
DELETE /api/v1/feature_flags/{feature_flag_key}
Delete feature flag
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
feature_flag_key | path | string | true | The identifier for the feature flag. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag successfully updated. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Replace Feature Flag
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/feature_flags/{feature_flag_key}?name=string&description=string&type=str&allow_override_level=env&default_value=string',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://{businessName}.kinde.com/api/v1/feature_flags/{feature_flag_key}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://{businessName}.kinde.com/api/v1/feature_flags/{feature_flag_key}?name=string&description=string&type=str&allow_override_level=env&default_value=string HTTP/1.1
Accept: application/json
PUT /api/v1/feature_flags/{feature_flag_key}
Update feature flag.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
feature_flag_key | path | string | true | The key identifier for the feature flag. |
name | query | string | true | The name of the flag. |
description | query | string | true | Description of the flag purpose. |
type | query | string | true | The variable type |
allow_override_level | query | string | true | Allow the flag to be overridden at a different level. |
default_value | query | string | true | Default value for the flag used by environments and organizations. |
Enumerated Values
Parameter | Value |
---|---|
type | str |
type | int |
type | bool |
allow_override_level | env |
allow_override_level | org |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag successfully updated. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Environments
Delete Environment Feature Flag Overrides
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/environment/feature_flags',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/environment/feature_flags", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/environment/feature_flags HTTP/1.1
Accept: application/json
DELETE /api/v1/environment/feature_flags
Delete all environment feature flag overrides.
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag overrides deleted successfully. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
List Environment Feature Flags
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/environment/feature_flags',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/environment/feature_flags", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/environment/feature_flags HTTP/1.1
Accept: application/json
GET /api/v1/environment/feature_flags
Get environment feature flags.
Example responses
200 Response
{
"code": "string",
"message": "string",
"feature_flags": {
"property1": {
"type": "str",
"value": "string"
},
"property2": {
"type": "str",
"value": "string"
}
},
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flags retrieved successfully. | get_environment_feature_flags_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Environment Feature Flag Override
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/environment/feature_flags/{feature_flag_key}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/environment/feature_flags/{feature_flag_key}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/environment/feature_flags/{feature_flag_key} HTTP/1.1
Accept: application/json
DELETE /api/v1/environment/feature_flags/{feature_flag_key}
Delete environment feature flag override.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
feature_flag_key | path | string | true | The identifier for the feature flag. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag deleted successfully. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update Environment Feature Flag Override
Code samples
const inputBody = '{
"value": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/environment/feature_flags/{feature_flag_key}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/environment/feature_flags/{feature_flag_key}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/environment/feature_flags/{feature_flag_key} HTTP/1.1
Content-Type: application/json
Accept: application/json
PATCH /api/v1/environment/feature_flags/{feature_flag_key}
Update environment feature flag override.
Body parameter
{
"value": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
feature_flag_key | path | string | true | The identifier for the feature flag. |
body | body | object | true | Flag details. |
» value | body | string | true | The flag override value. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Feature flag override successful | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Permissions
List Permissions
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/permissions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/permissions HTTP/1.1
Accept: application/json
GET /api/v1/permissions
The returned list can be sorted by permission name or permission ID in ascending or descending order. The number of records to return at a time can also be controlled using the page_size
query string parameter.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
sort | id_asc |
sort | id_desc |
Example responses
200 Response
{
"code": "string",
"message": "string",
"permissions": [
{
"id": "string",
"name": "string",
"description": "string"
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Permissions successfully retrieved. | get_permissions_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Create Permission
Code samples
const inputBody = '{
"name": "string",
"description": "string",
"key": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/permissions',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/permissions HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
POST /api/v1/permissions
Create a new permission.
Body parameter
{
"name": "string",
"description": "string",
"key": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | Permission details. |
» name | body | string | false | The permission's name. |
» description | body | string | false | The permission's description. |
» key | body | string | false | The permission identifier to use in code. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Permission successfully created | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Update Permission
Code samples
const inputBody = '{
"name": "string",
"description": "string",
"key": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/permissions/{permission_id}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/permissions/{permission_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/permissions/{permission_id} HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
PATCH /api/v1/permissions/{permission_id}
Update permission
Body parameter
{
"name": "string",
"description": "string",
"key": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
permission_id | path | integer | true | The identifier for the permission. |
body | body | object | false | Permission details. |
» name | body | string | false | The permission's name. |
» description | body | string | false | The permission's description. |
» key | body | string | false | The permission identifier to use in code. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Permission successfully updated | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Delete Permission
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/permissions/{permission_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/permissions/{permission_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/permissions/{permission_id} HTTP/1.1
Accept: application/json
DELETE /api/v1/permissions/{permission_id}
Delete permission
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
permission_id | path | string | true | The identifier for the permission. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | permission successfully updated. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Roles
List Roles
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/roles',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/roles", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/roles HTTP/1.1
Accept: application/json
GET /api/v1/roles
The returned list can be sorted by role name or role ID in ascending or descending order. The number of records to return at a time can also be controlled using the page_size
query string parameter.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
sort | id_asc |
sort | id_desc |
Example responses
200 Response
{
"code": "string",
"message": "string",
"roles": [
{
"id": "string",
"key": "string",
"name": "string",
"description": "string"
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Roles successfully retrieved. | get_roles_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Get Role Permissions
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions HTTP/1.1
Accept: application/json
GET /api/v1/roles/{role_id}/permissions
Get permissions for a role.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
role_id | path | string | true | The role's public id. |
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
sort | id_asc |
sort | id_desc |
Example responses
200 Response
[
{
"id": "string",
"key": "string",
"name": "string",
"description": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A list of permissions for a role | roles_permission_response |
400 | Bad Request | Error removing user | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update Role Permissions
Code samples
const inputBody = '{
"permissions": [
{
"id": "string",
"operation": "string"
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions HTTP/1.1
Content-Type: application/json
Accept: application/json
PATCH /api/v1/roles/{role_id}/permissions
Update role permissions.
Body parameter
{
"permissions": [
{
"id": "string",
"operation": "string"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
role_id | path | string | true | The identifier for the role. |
body | body | object | true | none |
» permissions | body | [object] | false | Permissions to add or remove from the role. |
»» id | body | string | false | The permission id. |
»» operation | body | string | false | Optional operation, set to 'delete' to remove the permission from the role. |
Example responses
200 Response
{
"code": "string",
"message": "string",
"permissions_added": [
"string"
],
"permissions_removed": [
"string"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Permissions successfully updated. | update_role_permissions_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Remove Role Permission
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions/{permission_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions/{permission_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/roles/{role_id}/permissions/{permission_id} HTTP/1.1
Accept: application/json
DELETE /api/v1/roles/{role_id}/permissions/{permission_id}
Remove a permission from a role.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
role_id | path | string | true | The role's public id. |
permission_id | path | string | true | The permission's public id. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Permission successfully removed from role | success_response |
400 | Bad Request | Error removing user | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Create Role
Code samples
const inputBody = '{
"name": "string",
"description": "string",
"key": "string",
"is_default_role": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/role',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/role", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/role HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
POST /api/v1/role
Create role.
Body parameter
{
"name": "string",
"description": "string",
"key": "string",
"is_default_role": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | Role details. |
» name | body | string | false | The role's name. |
» description | body | string | false | The role's description. |
» key | body | string | false | The role identifier to use in code. |
» is_default_role | body | boolean | false | Set role as default for new users. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Role successfully created | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
Update Role
Code samples
const inputBody = '{
"name": "string",
"description": "string",
"key": "string",
"is_default_role": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/roles/{role_id}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/roles/{role_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/roles/{role_id} HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
PATCH /api/v1/roles/{role_id}
Update a role
Body parameter
{
"name": "string",
"description": "string",
"key": "string",
"is_default_role": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
role_id | path | string | true | The identifier for the role. |
body | body | object | false | Role details. |
» name | body | string | true | The role's name. |
» description | body | string | false | The role's description. |
» key | body | string | true | The role identifier to use in code. |
» is_default_role | body | boolean | false | Set role as default for new users. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Role successfully updated | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Delete Role
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/roles/{role_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/roles/{role_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/roles/{role_id} HTTP/1.1
Accept: application/json
DELETE /api/v1/roles/{role_id}
Delete role
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
role_id | path | string | true | The identifier for the role. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Role successfully deleted. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Business
List business details
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/business?code=string&name=string&email=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/business", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/business?code=string&name=string&email=string HTTP/1.1
Accept: application/json; charset=utf-8
GET /api/v1/business
Get your business details.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
code | query | string | true | Business code. |
name | query | string | true | Business name. |
query | string | true | Email associated with business. | |
phone | query | string | false | Phone number associated with business. |
industry | query | string | false | The industry your business is in. |
timezone | query | string | false | The timezone your business is in. |
privacy_url | query | string | false | Your Privacy policy URL. |
terms_url | query | string | false | Your Terms and Conditions URL. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response with your business details. | success_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update business details
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/business?business_name=string&primary_email=string',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/business", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/business?business_name=string&primary_email=string HTTP/1.1
Accept: application/json; charset=utf-8
PATCH /api/v1/business
Update business details.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
business_name | query | string | true | Business name. |
primary_email | query | string | true | Email associated with business. |
primary_phone | query | string | false | Phone number associated with business. |
industry_key | query | string | false | The key of the industry your business is in. |
timezone_id | query | string | false | The ID of the timezone your business is in. |
privacy_url | query | string | false | Your Privacy policy URL. |
terms_url | query | string | false | Your Terms and Conditions URL. |
is_show_kinde_branding | query | string | false | Display "Powered by Kinde" on your sign up, sign in, and subscription pages. |
is_click_wrap | query | boolean | false | Show a policy acceptance checkbox on sign up. |
partner_code | query | string | false | Your Kinde Perk code. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Business successfully updated. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Industries
List industries and industry keys.
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/industries',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/industries", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/industries HTTP/1.1
Accept: application/json; charset=utf-8
GET /api/v1/industries
Get a list of industries and associated industry keys.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
industry_key | query | string | false | Industry Key. |
name | query | string | false | Industry name. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response with a list of industries and industry keys. | success_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Timezones
List timezones and timezone IDs.
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/timezones',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/timezones", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/timezones HTTP/1.1
Accept: application/json; charset=utf-8
GET /api/v1/timezones
Get a list of timezones and associated timezone keys.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
timezone_key | query | string | false | Timezone Key. |
name | query | string | false | Timezone. |
Example responses
201 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response with a list of timezones and timezone keys. | success_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Applications
List Applications
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/applications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/applications HTTP/1.1
Accept: application/json
GET /api/v1/applications
Get a list of applications.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sort | query | string | false | Field and order to sort the result by. |
page_size | query | integer | false | Number of results per page. Defaults to 10 if parameter not sent. |
next_token | query | string | false | A string to get the next page of results if there are more results. |
Enumerated Values
Parameter | Value |
---|---|
sort | name_asc |
sort | name_desc |
Example responses
200 Response
{
"code": "string",
"message": "string",
"applications": [
{
"id": "string",
"name": "string",
"type": "string"
}
],
"next_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response with a list of applications or an empty list. | get_applications_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Create Application
Code samples
const inputBody = '{
"name": "string",
"type": "reg"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/applications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/applications HTTP/1.1
Content-Type: application/json
Accept: application/json
POST /api/v1/applications
Create an application.
Body parameter
{
"name": "string",
"type": "reg"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | Application details. |
» name | body | string | false | The application's name. |
» type | body | string | false | The application's type. |
Enumerated Values
Parameter | Value |
---|---|
» type | reg |
» type | spa |
» type | m2m |
Example responses
200 Response
{
"code": "string",
"message": "string",
"application": {
"id": "string",
"client_id": "string",
"client_secret": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Application successfully created. | create_application_response |
400 | Bad Request | Error creating user. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Get Application
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{application_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/applications/{application_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/applications/{application_id} HTTP/1.1
Accept: application/json
GET /api/v1/applications/{application_id}
Gets an application given the application's id.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
application_id | path | string | true | The identifier for the application. |
Example responses
200 Response
{
"code": "string",
"message": "string",
"application": {
"id": "string",
"name": "string",
"type": "string",
"client_id": "string",
"client_secret": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Application successfully retrieved. | get_application_response |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Update Application
Code samples
const inputBody = '{
"name": "string",
"language_key": "string",
"logout_uris": [
"string"
],
"redirect_uris": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{application_id}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/applications/{application_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/applications/{application_id} HTTP/1.1
Content-Type: application/json
Accept: application/json
PATCH /api/v1/applications/{application_id}
Update an application.
Body parameter
{
"name": "string",
"language_key": "string",
"logout_uris": [
"string"
],
"redirect_uris": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
application_id | path | string | true | The identifier for the application. |
body | body | object | false | Application details. |
» name | body | string | false | The application's name. |
» language_key | body | string | false | The application's language key. |
» logout_uris | body | [string] | false | The application's logout uris. |
» redirect_uris | body | [string] | false | The application's redirect uris. |
Example responses
400 Response
{
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Application successfully updated. | None |
400 | Bad Request | Bad request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Application
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{application_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/applications/{application_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/applications/{application_id} HTTP/1.1
Accept: application/json
DELETE /api/v1/applications/{application_id}
Delete application.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
application_id | path | string | true | The identifier for the application. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Application successfully deleted. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Callbacks
List Callback URLs
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls HTTP/1.1
Accept: application/json
GET /api/v1/applications/{app_id}/auth_redirect_urls
Returns an application's redirect callback URLs.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
Example responses
200 Response
{
"redirect_urls": [
"string"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Callback URLs successfully retrieved. | redirect_callback_urls |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Add Redirect Callback URLs
Code samples
const inputBody = '{
"urls": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
POST /api/v1/applications/{app_id}/auth_redirect_urls
Add additional redirect callback URLs.
Body parameter
{
"urls": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
body | body | object | true | Callback details. |
» urls | body | [string] | false | Array of callback urls. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Callbacks successfully updated | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Replace Redirect Callback URLs
Code samples
const inputBody = '{
"urls": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
PUT /api/v1/applications/{app_id}/auth_redirect_urls
Replace all redirect callback URLs.
Body parameter
{
"urls": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
body | body | object | true | Callback details. |
» urls | body | [string] | false | Array of callback urls. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Callbacks successfully updated | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Callback URLs
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls?urls=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_redirect_urls?urls=string HTTP/1.1
Accept: application/json
DELETE /api/v1/applications/{app_id}/auth_redirect_urls
Delete callback URLs.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
urls | query | string | true | Urls to delete, comma separated and url encoded. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Callback URLs successfully deleted. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
List Logout URLs
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls HTTP/1.1
Accept: application/json
GET /api/v1/applications/{app_id}/auth_logout_urls
Returns an application's logout redirect URLs.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
Example responses
200 Response
{
"redirect_urls": [
"string"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Logout URLs successfully retrieved. | logout_redirect_urls |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Add Logout Redirect URLs
Code samples
const inputBody = '{
"urls": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
POST /api/v1/applications/{app_id}/auth_logout_urls
Add additional logout redirect URLs.
Body parameter
{
"urls": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
body | body | object | true | Callback details. |
» urls | body | [string] | false | Array of logout urls. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Logouts successfully updated | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Replace Logout Redirect URLs
Code samples
const inputBody = '{
"urls": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
PUT /api/v1/applications/{app_id}/auth_logout_urls
Replace all logout redirect URLs.
Body parameter
{
"urls": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
body | body | object | true | Callback details. |
» urls | body | [string] | false | Array of logout urls. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Logout URLs successfully updated | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | None |
429 | Too Many Requests | Request was throttled. | None |
Delete Logout URLs
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls?urls=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/applications/{app_id}/auth_logout_urls?urls=string HTTP/1.1
Accept: application/json
DELETE /api/v1/applications/{app_id}/auth_logout_urls
Delete logout URLs.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
app_id | path | string | true | The identifier for the application. |
urls | query | string | true | Urls to delete, comma separated and url encoded. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Logout URLs successfully deleted. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
APIs
List APIs
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/apis',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/apis", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/apis HTTP/1.1
Accept: application/json; charset=utf-8
GET /api/v1/apis
Returns a list of APIs.
Example responses
200 Response
{
"id": "string",
"name": "string",
"audience": "string",
"is_management_api": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | APIs successfully retrieved. | apis |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Add APIs
Code samples
const inputBody = '{
"name": "string",
"audience": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/apis',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{businessName}.kinde.com/api/v1/apis", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://{businessName}.kinde.com/api/v1/apis HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
POST /api/v1/apis
Add APIs.
Body parameter
{
"name": "string",
"audience": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | true | API details. |
» name | body | string | true | none |
» audience | body | string | true | none |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | APIs successfully updated | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
List API details
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/apis/{api_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{businessName}.kinde.com/api/v1/apis/{api_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://{businessName}.kinde.com/api/v1/apis/{api_id} HTTP/1.1
Accept: application/json; charset=utf-8
GET /api/v1/apis/{api_id}
Returns the details of the API.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
api_id | path | string | true | The API's id. |
Example responses
200 Response
{
"id": "string",
"code": "string",
"name": "string",
"message": "string",
"audience": "string",
"applications": [
{
"id": "string",
"name": "string",
"type": "string",
"is_active": true
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | API successfully retrieved. | api |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Delete API
Code samples
const headers = {
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/apis/{api_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{businessName}.kinde.com/api/v1/apis/{api_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://{businessName}.kinde.com/api/v1/apis/{api_id} HTTP/1.1
Accept: application/json; charset=utf-8
DELETE /api/v1/apis/{api_id}
Deletes API.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
api_id | path | string | true | The API's id. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | API successfully deleted. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Update API Applications
Code samples
const inputBody = '{
"applications": [
{
"id": "string",
"operation": "string"
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json; charset=utf-8',
'Authorization':'Bearer {access-token}'
};
fetch('https://{businessName}.kinde.com/api/v1/apis/{api_id}/applications',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json; charset=utf-8"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{businessName}.kinde.com/api/v1/apis/{api_id}/applications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://{businessName}.kinde.com/api/v1/apis/{api_id}/applications HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
PATCH /api/v1/apis/{api_id}/applications
Update the applications under that API.
Body parameter
{
"applications": [
{
"id": "string",
"operation": "string"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
api_id | path | string | true | The identifier for the API. |
body | body | object | true | The applications you want to connect or disconnect. |
» applications | body | [object] | true | none |
»» id | body | string | true | The application's id. |
»» operation | body | string | false | Optional operation, set to 'delete' to remove the user from the organization. |
Example responses
200 Response
{
"message": "string",
"code": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | API applications updated. | success_response |
400 | Bad Request | Invalid request. | error_response |
403 | Forbidden | Invalid credentials. | error_response |
429 | Too Many Requests | Request was throttled. | None |
Schemas
success_response
{
"message": "string",
"code": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | none |
code | string | false | none | none |
error
{
"code": "string",
"message": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Error code. |
message | string | false | none | Error message. |
error_response
{
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
errors | [error] | false | none | none |
user
{
"id": "string",
"provided_id": "string",
"preferred_email": "string",
"last_name": "string",
"first_name": "string",
"is_suspended": true,
"picture": "string",
"total_sign_ins": 0,
"failed_sign_ins": 0,
"last_signed_in": "string",
"created_on": "string",
"organizations": [
"string"
],
"identities": [
{
"type": "string",
"identity": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique id of the user in Kinde. |
provided_id | string | false | none | External id for user. |
preferred_email | string | false | none | Default email address of the user in Kinde. |
last_name | string | false | none | User's last name. |
first_name | string | false | none | User's first name. |
is_suspended | boolean | false | none | Whether the user is currently suspended or not. |
picture | string | false | none | User's profile picture URL. |
total_sign_ins | integer¦null | false | none | Total number of user sign ins. |
failed_sign_ins | integer¦null | false | none | Number of consecutive failed user sign ins. |
last_signed_in | string¦null | false | none | Last sign in date in ISO 8601 format. |
created_on | string¦null | false | none | Date of user creation in ISO 8601 format. |
organizations | [string] | false | none | Array of organizations a user belongs to. |
identities | [object] | false | none | Array of identities belonging to the user. |
» type | string | false | none | none |
» identity | string | false | none | none |
update_user_response
{
"id": "string",
"given_name": "string",
"family_name": "string",
"email": "string",
"is_suspended": true,
"is_password_reset_requested": true,
"picture": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique id of the user in Kinde. |
given_name | string | false | none | User's first name. |
family_name | string | false | none | User's last name. |
string | false | none | User's preferred email. | |
is_suspended | boolean | false | none | Whether the user is currently suspended or not. |
is_password_reset_requested | boolean | false | none | Whether a password reset has been requested. |
picture | string | false | none | User's profile picture URL. |
users
[
{
"id": "string",
"provided_id": "string",
"preferred_email": "string",
"last_name": "string",
"first_name": "string",
"is_suspended": true,
"picture": "string",
"total_sign_ins": 0,
"failed_sign_ins": 0,
"last_signed_in": "string",
"created_on": "string",
"organizations": [
"string"
],
"identities": [
{
"type": "string",
"identity": "string"
}
]
}
]
Array of users.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [user] | false | none | Array of users. |
users_response
{
"code": "string",
"message": "string",
"users": [
{
"id": "string",
"provided_id": "string",
"email": "string",
"last_name": "string",
"first_name": "string",
"is_suspended": true,
"picture": "string",
"total_sign_ins": 0,
"failed_sign_ins": 0,
"last_signed_in": "string",
"created_on": "string",
"organizations": [
"string"
],
"identities": [
{
"type": "string",
"identity": "string"
}
]
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
users | [object] | false | none | none |
» id | string | false | none | Unique id of the user in Kinde. |
» provided_id | string | false | none | External id for user. |
string | false | none | Default email address of the user in Kinde. | |
» last_name | string | false | none | User's last name. |
» first_name | string | false | none | User's first name. |
» is_suspended | boolean | false | none | Whether the user is currently suspended or not. |
» picture | string | false | none | User's profile picture URL. |
» total_sign_ins | integer¦null | false | none | Total number of user sign ins. |
» failed_sign_ins | integer¦null | false | none | Number of consecutive failed user sign ins. |
» last_signed_in | string¦null | false | none | Last sign in date in ISO 8601 format. |
» created_on | string¦null | false | none | Date of user creation in ISO 8601 format. |
» organizations | [string] | false | none | Array of organizations a user belongs to. |
» identities | [object] | false | none | Array of identities belonging to the user. |
»» type | string | false | none | none |
»» identity | string | false | none | none |
next_token | string | false | none | Pagination token. |
create_user_response
{
"id": "string",
"created": true,
"identities": [
{
"type": "string",
"result": {
"created": true
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique id of the user in Kinde. |
created | boolean | false | none | True if the user was successfully created. |
identities | [user_identity] | false | none | none |
create_organization_response
{
"message": "string",
"code": "string",
"organization": {
"code": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | none |
code | string | false | none | none |
organization | object | false | none | none |
» code | string | false | none | The organization's code. |
user_identity
{
"type": "string",
"result": {
"created": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | The type of identity object created. |
result | object | false | none | The result of the user creation operation. |
» created | boolean | false | none | True if the user identity was successfully created. |
user_profile
{
"id": "string",
"preferred_email": "string",
"provided_id": "string",
"last_name": "string",
"first_name": "string",
"picture": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique id of the user in Kinde. |
preferred_email | string | false | none | Default email address of the user in Kinde. |
provided_id | string¦null | false | none | Value of the user's id in a third-party system when the user is imported into Kinde. |
last_name | string | false | none | User's last name. |
first_name | string | false | none | User's first name. |
picture | string | false | none | URL that point's to the user's picture or avatar |
token_introspect
{
"active": true,
"aud": [
"string"
],
"client_id": "string",
"exp": "string",
"iat": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
active | boolean | false | none | Indicates the status of the token. |
aud | [string] | false | none | Array of intended token recipients. |
client_id | string | false | none | Identifier for the requesting client. |
exp | string | false | none | Token expiration timestamp. |
iat | string | false | none | Token issuance timestamp. |
token_error_response
{
"error": "string",
"error_description": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | false | none | Error. |
error_description | string | false | none | The error description. |
user_profile_v2
{
"id": "string",
"sub": "string",
"provided_id": "string",
"name": "string",
"given_name": "string",
"family_name": "string",
"updated_at": 0,
"email": "string",
"picture": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique id of the user in Kinde (deprecated). |
sub | string | false | none | Unique id of the user in Kinde. |
provided_id | string¦null | false | none | Value of the user's id in a third-party system when the user is imported into Kinde. |
name | string | false | none | Users's first and last name separated by a space. |
given_name | string | false | none | User's first name. |
family_name | string | false | none | User's last name. |
updated_at | integer | false | none | Date the user was last updated at (In Unix time). |
string | false | none | User's email address if available. | |
picture | string | false | none | URL that point's to the user's picture or avatar |
organization
{
"code": "string",
"name": "string",
"is_default": true,
"external_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
name | string | false | none | none |
is_default | boolean | false | none | none |
external_id | string | false | none | none |
organization_user
{
"id": "string",
"email": "string",
"full_name": "string",
"last_name": "string",
"first_name": "string",
"roles": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
string | false | none | none | |
full_name | string | false | none | none |
last_name | string | false | none | none |
first_name | string | false | none | none |
roles | [string] | false | none | none |
role
{
"id": "string",
"key": "string",
"name": "string",
"description": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
key | string | false | none | none |
name | string | false | none | none |
description | string | false | none | none |
subscribers_subscriber
{
"id": "string",
"email": "string",
"full_name": "string",
"first_name": "string",
"last_name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
string | false | none | none | |
full_name | string | false | none | none |
first_name | string | false | none | none |
last_name | string | false | none | none |
subscriber
{
"id": "string",
"preferred_email": "string",
"first_name": "string",
"last_name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
preferred_email | string | false | none | none |
first_name | string | false | none | none |
last_name | string | false | none | none |
organization_user_role
{
"id": "string",
"key": "string",
"name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
key | string | false | none | none |
name | string | false | none | none |
organization_user_role_permissions
{
"id": "string",
"role": "string",
"permissions": {
"key": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
role | string | false | none | none |
permissions | object | false | none | none |
» key | string | false | none | none |
organization_user_permission
{
"id": "string",
"key": "string",
"name": "string",
"description": "string",
"roles": [
{
"id": "string",
"key": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
key | string | false | none | none |
name | string | false | none | none |
description | string | false | none | none |
roles | [object] | false | none | none |
» id | string | false | none | none |
» key | string | false | none | none |
organization_users
[
{
"id": "string",
"email": "string",
"full_name": "string",
"last_name": "string",
"first_name": "string",
"roles": [
"string"
]
}
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [organization_user] | false | none | none |
get_subscriber_response
{
"code": "string",
"message": "string",
"subscribers": [
{
"id": "string",
"preferred_email": "string",
"first_name": "string",
"last_name": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
subscribers | [subscriber] | false | none | none |
get_subscribers_response
{
"code": "string",
"message": "string",
"subscribers": [
{
"id": "string",
"email": "string",
"full_name": "string",
"first_name": "string",
"last_name": "string"
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
subscribers | [subscribers_subscriber] | false | none | none |
next_token | string | false | none | Pagination token. |
get_roles_response
{
"code": "string",
"message": "string",
"roles": [
{
"id": "string",
"key": "string",
"name": "string",
"description": "string"
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
roles | [roles] | false | none | none |
next_token | string | false | none | Pagination token. |
get_organizations_response
{
"code": "string",
"message": "string",
"organizations": [
{
"code": "string",
"name": "string",
"is_default": true,
"external_id": "string"
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
organizations | [organization] | false | none | none |
next_token | string | false | none | Pagination token. |
get_organization_users_response
{
"code": "string",
"message": "string",
"organization_users": [
{
"id": "string",
"email": "string",
"full_name": "string",
"last_name": "string",
"first_name": "string",
"roles": [
"string"
]
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
organization_users | [organization_user] | false | none | none |
next_token | string | false | none | Pagination token. |
get_organizations_user_roles_response
{
"code": "string",
"message": "string",
"roles": [
{
"id": "string",
"key": "string",
"name": "string"
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
roles | [organization_user_role] | false | none | none |
next_token | string | false | none | Pagination token. |
get_organizations_user_permissions_response
{
"code": "string",
"message": "string",
"permissions": [
{
"id": "string",
"key": "string",
"name": "string",
"description": "string",
"roles": [
{
"id": "string",
"key": "string"
}
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
permissions | [organization_user_permission] | false | none | none |
get_organization_feature_flags_response
{
"code": "string",
"message": "string",
"feature_flags": {
"property1": {
"type": "str",
"value": "string"
},
"property2": {
"type": "str",
"value": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
feature_flags | object | false | none | The environment's feature flag settings. |
» additionalProperties | object | false | none | none |
»» type | string | false | none | none |
»» value | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | str |
type | int |
type | bool |
get_environment_feature_flags_response
{
"code": "string",
"message": "string",
"feature_flags": {
"property1": {
"type": "str",
"value": "string"
},
"property2": {
"type": "str",
"value": "string"
}
},
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
feature_flags | object | false | none | The environment's feature flag settings. |
» additionalProperties | object | false | none | none |
»» type | string | false | none | none |
»» value | string | false | none | none |
next_token | string | false | none | Pagination token. |
Enumerated Values
Property | Value |
---|---|
type | str |
type | int |
type | bool |
add_organization_users_response
{
"code": "string",
"message": "string",
"users_added": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
users_added | [string] | false | none | none |
update_role_permissions_response
{
"code": "string",
"message": "string",
"permissions_added": [
"string"
],
"permissions_removed": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
message | string | false | none | none |
permissions_added | [string] | false | none | none |
permissions_removed | [string] | false | none | none |
update_organization_users_response
{
"message": "string",
"users_added": [
"string"
],
"users_updated": [
"string"
],
"users_removed": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | none |
users_added | [string] | false | none | none |
users_updated | [string] | false | none | none |
users_removed | [string] | false | none | none |
connected_apps_auth_url
{
"url": "string",
"session_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
url | string | false | none | A URL that is used to authenticate an end-user against a connected app. |
session_id | string | false | none | A unique identifier for the login session. |
create_subscriber_success_response
{
"subscriber": {
"subscriber_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
subscriber | object | false | none | none |
» subscriber_id | string | false | none | A unique identifier for the subscriber. |
connected_apps_access_token
{
"access_token": "string",
"access_token_expiry": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
access_token | string | false | none | The access token to access a third-party provider. |
access_token_expiry | string | false | none | The date and time that the access token expires. |
api_result
{
"result": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
result | string | false | none | The result of the api operation. |
create_application_response
{
"code": "string",
"message": "string",
"application": {
"id": "string",
"client_id": "string",
"client_secret": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
application | object | false | none | none |
» id | string | false | none | The application's identifier. |
» client_id | string | false | none | The application's client id. |
» client_secret | string | false | none | The application's client secret. |
get_application_response
{
"code": "string",
"message": "string",
"application": {
"id": "string",
"name": "string",
"type": "string",
"client_id": "string",
"client_secret": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
application | object | false | none | none |
» id | string | false | none | The application's identifier. |
» name | string | false | none | The application's name. |
» type | string | false | none | The application's type. |
» client_id | string | false | none | The application's client id. |
» client_secret | string | false | none | The application's client secret. |
applications
{
"id": "string",
"name": "string",
"type": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
name | string | false | none | none |
type | string | false | none | none |
get_applications_response
{
"code": "string",
"message": "string",
"applications": [
{
"id": "string",
"name": "string",
"type": "string"
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
applications | [applications] | false | none | none |
next_token | string | false | none | Pagination token. |
redirect_callback_urls
{
"redirect_urls": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
redirect_urls | [string] | false | none | An application's redirect URLs. |
get_redirect_callback_urls_response
{
"redirect_urls": [
{
"redirect_urls": [
"string"
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
redirect_urls | [redirect_callback_urls] | false | none | An application's redirect callback URLs. |
logout_redirect_urls
{
"redirect_urls": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
redirect_urls | [string] | false | none | An application's logout URLs. |
get_permissions_response
{
"code": "string",
"message": "string",
"permissions": [
{
"id": "string",
"name": "string",
"description": "string"
}
],
"next_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Response code. |
message | string | false | none | Response message. |
permissions | [permissions] | false | none | none |
next_token | string | false | none | Pagination token. |
permissions
{
"id": "string",
"name": "string",
"description": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | The permission identifier to use in code. |
name | string | false | none | The permission's name. |
description | string | false | none | The permission's description. |
roles
{
"id": "string",
"key": "string",
"name": "string",
"description": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | The role's id. |
key | string | false | none | The role identifier to use in code. |
name | string | false | none | The role's name. |
description | string | false | none | The role's description. |
roles_permission_response
[
{
"id": "string",
"key": "string",
"name": "string",
"description": "string"
}
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
key | string | false | none | none |
name | string | false | none | none |
description | string | false | none | none |
apis
{
"id": "string",
"name": "string",
"audience": "string",
"is_management_api": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique id of the API. |
name | string | false | none | The API's name. |
audience | string | false | none | The logical identifier for the API. |
is_management_api | boolean | false | none | Whether it is the management API or not. |
api
{
"id": "string",
"code": "string",
"name": "string",
"message": "string",
"audience": "string",
"applications": [
{
"id": "string",
"name": "string",
"type": "string",
"is_active": true
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | The API's unique identifier. |
code | string | false | none | Response code. |
name | string | false | none | The API's name. |
message | string | false | none | Response message. |
audience | string | false | none | The API's audience. |
applications | [object] | false | none | none |
» id | string | false | none | none |
» name | string | false | none | none |
» type | string | false | none | none |
» is_active | boolean | false | none | none |