openapi: 3.0.3
info:
title: Stytch B2B Authentication Application Connected Apps API
version: 2.0.0
description: Stytch's B2B API for multi-tenant authentication. Supports Organizations, Members, SSO (SAML/OIDC), Magic Links, OTP, OAuth, Discovery, Sessions, B2B RBAC, SCIM, TOTP, Recovery Codes, Passwords, Impersonation, and the B2B IDP.
contact:
name: Stytch
url: https://stytch.com/docs
license:
name: Proprietary
servers:
- url: https://api.stytch.com
description: Production
- url: https://test.stytch.com
description: Test
tags:
- name: Connected Apps
paths:
/v1/connected_apps/clients/{client_id}:
get:
summary: Get
operationId: api_connectedapps_v1_connected_apps_clients_Get
tags:
- Connected Apps
description: Retrieve details of a specific Connected App by `client_id`.
parameters:
- name: client_id
in: path
required: true
schema:
type: string
description: The ID of the Connected App client.
description: The ID of the Connected App client.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_GetResponse'
'400':
description: Bad request
'401':
description: Unauthorized
content:
application/json:
example:
status_code: 401
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: unauthorized_credentials
error_message: Unauthorized credentials.
error_url: https://stytch.com/docs/api/errors/401
'429':
description: Too Many Requests
content:
application/json:
example:
status_code: 429
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: too_many_requests
error_message: Too many requests have been made.
error_url: https://stytch.com/docs/api/errors/429
'500':
description: Internal server error
content:
application/json:
example:
status_code: 500
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: internal_server_error
error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong.
error_url: https://stytch.com/docs/api/errors/500
x-code-samples:
- lang: csharp
label: C#
source: "// GET /v1/connected_apps/clients/{client_id}\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n client_id: \"${exampleConnectedAppClientID}\",\n};\n\nclient.ConnectedApp.Clients.Get(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: go
label: Go
source: "// GET /v1/connected_apps/clients/{client_id}\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\t\"github.com/stytchauth/stytch-go/v17/stytch/b2b/b2bstytchapi\"\n\t\"github.com/stytchauth/stytch-go/v17/stytch/consumer/connectedapps/clients\"\n)\n\nfunc main() {\n\tclient, err := b2bstytchapi.NewClient(\n\t\t\"${projectId}\",\n\t\t\"${secret}\",\n\t)\n\tif err != nil {\n\t\tlog.Fatalf(\"error instantiating client: %v\", err)\n\t}\n\n\tparams := &clients.GetParams{\n\t\tClientID: \"${exampleConnectedAppClientID}\",\n\t}\n\n\tresp, err := client.ConnectedApp.Clients.Get(context.Background(), params)\n\tif err != nil {\n\t\tlog.Fatalf(\"error in method call: %v\", err)\n\t}\n\n\tlog.Println(resp)\n}\n"
- lang: java
label: Java
source: "// GET /v1/connected_apps/clients/{client_id}\npackage com.example;\n\nimport com.stytch.java.b2b.StytchB2BClient;\nimport com.stytch.java.common.StytchResult;\nimport com.stytch.java.consumer.models.connectedappsclients.GetRequest;\n\npublic class Main {\n public static void main(String[] args) {\n StytchB2BClient.configure(\"${projectId}\", \"${secret}\");\n\n GetRequest params = new GetRequest();\n params.setClientId(\"${exampleConnectedAppClientID}\");\n\n Object result = StytchB2BClient.getConnectedApp().getClients().get(params);\n if (result instanceof StytchResult.Success) {\n System.out.println(((StytchResult.Success) result).getValue());\n } else {\n System.out.println(((StytchResult.Error) result).getException());\n }\n }\n}"
- lang: kotlin
label: Kotlin
source: "// GET /v1/connected_apps/clients/{client_id}\npackage com.example\n\nimport com.stytch.java.b2b.StytchB2BClient\nimport com.stytch.java.consumer.models.connectedappsclients.GetRequest\n\nfun main() {\n StytchB2BClient.configure(\n projectId = \"${projectId}\",\n secret = \"${secret}\",\n )\n\n when (\n val result =\n StytchB2BClient.connectedApp.clients.get(\n GetRequest(\n clientId = \"${exampleConnectedAppClientID}\",\n ),\n )\n ) {\n is StytchResult.Success -> println(result.value)\n is StytchResult.Error -> println(result.exception)\n }\n}\n"
- lang: javascript
label: Node.js
source: "// GET /v1/connected_apps/clients/{client_id}\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n client_id: \"${exampleConnectedAppClientID}\",\n};\n\nclient.connectedApp.clients.get(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: php
label: PHP
source: "$response = $client->connected_app->clients->get([\n 'client_id' => '${exampleConnectedAppClientID}',\n]);"
- lang: python
label: Python
source: "# GET /v1/connected_apps/clients/{client_id}\nfrom stytch import B2BClient\n\nclient = B2BClient(\n project_id=\"${projectId}\",\n secret=\"${secret}\",\n)\n\nresp = client.connected_app.clients.get(\n client_id=\"${exampleConnectedAppClientID}\",\n)\n\nprint(resp)\n"
- lang: ruby
label: Ruby
source: "# GET /v1/connected_apps/clients/{client_id}\nrequire 'stytch'\n\nclient = StytchB2B::Client.new(\n project_id: \"${projectId}\",\n secret: \"${secret}\"\n)\n\nresp = client.connected_app.clients.get(\n client_id: \"${exampleConnectedAppClientID}\"\n \n)\n\nputs resp"
- lang: rust
label: Rust
source: "// GET /v1/connected_apps/clients/{client_id}\nuse stytch::b2b::client::Client;\nuse stytch::consumer::connected_apps_clients::GetRequest;\n\nfn main() {\n let client = Client::new(\"${projectId}\", \"${secret}\").unwrap();\n let resp = client.connected_app.clients.get(\n GetRequest{\n client_id: \"${exampleConnectedAppClientID}\",\n ..Default::default()\n }\n ).await;\n println!(\"The response is {:?}\", resp);\n}"
- lang: bash
label: cURL
source: "# GET /v1/connected_apps/clients/{client_id}\ncurl --request GET \\\n --url https://test.stytch.com/v1/connected_apps/clients/${exampleConnectedAppClientID} \\\n -u '${projectId}:${secret}' \\\n -H 'Content-Type: application/json'"
put:
summary: Update
operationId: api_connectedapps_v1_connected_apps_clients_Update
tags:
- Connected Apps
description: Updates mutable fields of a Connected App. Cannot update Client Type, Client ID, or Secrets.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_UpdateRequest'
parameters:
- name: client_id
in: path
required: true
schema:
type: string
description: The ID of the client.
description: The ID of the client.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_UpdateResponse'
'400':
description: Bad request
'401':
description: Unauthorized
content:
application/json:
example:
status_code: 401
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: unauthorized_credentials
error_message: Unauthorized credentials.
error_url: https://stytch.com/docs/api/errors/401
'429':
description: Too Many Requests
content:
application/json:
example:
status_code: 429
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: too_many_requests
error_message: Too many requests have been made.
error_url: https://stytch.com/docs/api/errors/429
'500':
description: Internal server error
content:
application/json:
example:
status_code: 500
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: internal_server_error
error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong.
error_url: https://stytch.com/docs/api/errors/500
x-code-samples:
- lang: csharp
label: C#
source: "// PUT /v1/connected_apps/clients/{client_id}\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n client_id: \"${exampleM2MClientID}\",\n client_name: \"My Sample Client\",\n client_description: \"My sample client for testing out Connected Apps\",\n redirect_urls: [\"https://example.com/callback\"],\n full_access_allowed: false,\n};\n\nclient.ConnectedApp.Clients.Update(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: go
label: Go
source: "// PUT /v1/connected_apps/clients/{client_id}\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\t\"github.com/stytchauth/stytch-go/v17/stytch/b2b/b2bstytchapi\"\n\t\"github.com/stytchauth/stytch-go/v17/stytch/consumer/connectedapps/clients\"\n)\n\nfunc main() {\n\tclient, err := b2bstytchapi.NewClient(\n\t\t\"${projectId}\",\n\t\t\"${secret}\",\n\t)\n\tif err != nil {\n\t\tlog.Fatalf(\"error instantiating client: %v\", err)\n\t}\n\n\tparams := &clients.UpdateParams{\n\t\tClientID: \"${exampleM2MClientID}\",\n\t\tClientName: \"My Sample Client\",\n\t\tClientDescription: \"My sample client for testing out Connected Apps\",\n\t\tRedirectURLs: []string{\"https://example.com/callback\"},\n\t\tFullAccessAllowed: false,\n\t}\n\n\tresp, err := client.ConnectedApp.Clients.Update(context.Background(), params)\n\tif err != nil {\n\t\tlog.Fatalf(\"error in method call: %v\", err)\n\t}\n\n\tlog.Println(resp)\n}\n"
- lang: java
label: Java
source: "// PUT /v1/connected_apps/clients/{client_id}\npackage com.example;\n\nimport com.stytch.java.b2b.StytchB2BClient;\nimport com.stytch.java.common.StytchResult;\nimport com.stytch.java.consumer.models.connectedappsclients.UpdateRequest;\n\npublic class Main {\n public static void main(String[] args) {\n StytchB2BClient.configure(\"${projectId}\", \"${secret}\");\n\n UpdateRequest params = new UpdateRequest();\n params.setClientId(\"${exampleM2MClientID}\");\n params.setClientName(\"My Sample Client\");\n params.setClientDescription(\"My sample client for testing out Connected Apps\");\n params.setRedirectURLs(new String(\"https://example.com/callback\"));\n params.setFullAccessAllowed(false);\n\n Object result = StytchB2BClient.getConnectedApp().getClients().update(params);\n if (result instanceof StytchResult.Success) {\n System.out.println(((StytchResult.Success) result).getValue());\n } else {\n System.out.println(((StytchResult.Error) result).getException());\n }\n }\n}"
- lang: kotlin
label: Kotlin
source: "// PUT /v1/connected_apps/clients/{client_id}\npackage com.example\n\nimport com.stytch.java.b2b.StytchB2BClient\nimport com.stytch.java.consumer.models.connectedappsclients.UpdateRequest\n\nfun main() {\n StytchB2BClient.configure(\n projectId = \"${projectId}\",\n secret = \"${secret}\",\n )\n\n when (\n val result =\n StytchB2BClient.connectedApp.clients.update(\n UpdateRequest(\n clientId = \"${exampleM2MClientID}\",\n clientName = \"My Sample Client\",\n clientDescription = \"My sample client for testing out Connected Apps\",\n redirectURLs = arrayOf(\"https://example.com/callback\"),\n fullAccessAllowed = false,\n ),\n )\n ) {\n is StytchResult.Success -> println(result.value)\n is StytchResult.Error -> println(result.exception)\n }\n}\n"
- lang: javascript
label: Node.js
source: "// PUT /v1/connected_apps/clients/{client_id}\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n client_id: \"${exampleM2MClientID}\",\n client_name: \"My Sample Client\",\n client_description: \"My sample client for testing out Connected Apps\",\n redirect_urls: [\"https://example.com/callback\"],\n full_access_allowed: false,\n};\n\nclient.connectedApp.clients.update(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: php
label: PHP
source: "$response = $client->connected_app->clients->update([\n 'client_id' => '${exampleM2MClientID}',\n 'client_name' => 'My Sample Client',\n 'client_description' => 'My sample client for testing out Connected Apps',\n 'redirect_urls' => ['https://example.com/callback'],\n 'full_access_allowed' => false,\n]);"
- lang: python
label: Python
source: "# PUT /v1/connected_apps/clients/{client_id}\nfrom stytch import B2BClient\n\nclient = B2BClient(\n project_id=\"${projectId}\",\n secret=\"${secret}\",\n)\n\nresp = client.connected_app.clients.update(\n client_id=\"${exampleM2MClientID}\",\n client_name=\"My Sample Client\",\n client_description=\"My sample client for testing out Connected Apps\",\n redirect_urls=[\"https://example.com/callback\"],\n full_access_allowed=False,\n)\n\nprint(resp)\n"
- lang: ruby
label: Ruby
source: "# PUT /v1/connected_apps/clients/{client_id}\nrequire 'stytch'\n\nclient = StytchB2B::Client.new(\n project_id: \"${projectId}\",\n secret: \"${secret}\"\n)\n\nresp = client.connected_app.clients.update(\n client_id: \"${exampleM2MClientID}\",\n client_name: \"My Sample Client\",\n client_description: \"My sample client for testing out Connected Apps\",\n redirect_urls: ['https://example.com/callback'],\n full_access_allowed: false\n \n)\n\nputs resp"
- lang: rust
label: Rust
source: "// PUT /v1/connected_apps/clients/{client_id}\nuse stytch::b2b::client::Client;\nuse stytch::consumer::connected_apps_clients::UpdateRequest;\n\nfn main() {\n let client = Client::new(\"${projectId}\", \"${secret}\").unwrap();\n let resp = client.connected_app.clients.update(\n UpdateRequest{\n client_id: \"${exampleM2MClientID}\",\n client_name: Some(String::from(\"My Sample Client\")),\n client_description: Some(String::from(\"My sample client for testing out Connected Apps\")),\n redirect_urls: vec![\"https://example.com/callback\"],\n full_access_allowed: false,\n ..Default::default()\n }\n ).await;\n println!(\"The response is {:?}\", resp);\n}"
- lang: bash
label: cURL
source: "# PUT /v1/connected_apps/clients/{client_id}\ncurl --request PUT \\\n --url https://test.stytch.com/v1/connected_apps/clients/${exampleM2MClientID} \\\n -u '${projectId}:${secret}' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"client_name\": \"My Sample Client\",\n \"client_description\": \"My sample client for testing out Connected Apps\",\n \"redirect_urls\": [\"https://example.com/callback\"],\n \"full_access_allowed\": false\n }'"
delete:
summary: Delete
operationId: api_connectedapps_v1_connected_apps_clients_Delete
tags:
- Connected Apps
description: Deletes a Connected App.
parameters:
- name: client_id
in: path
required: true
schema:
type: string
description: The ID of the client.
description: The ID of the client.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_DeleteResponse'
'400':
description: Bad request
'401':
description: Unauthorized
content:
application/json:
example:
status_code: 401
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: unauthorized_credentials
error_message: Unauthorized credentials.
error_url: https://stytch.com/docs/api/errors/401
'429':
description: Too Many Requests
content:
application/json:
example:
status_code: 429
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: too_many_requests
error_message: Too many requests have been made.
error_url: https://stytch.com/docs/api/errors/429
'500':
description: Internal server error
content:
application/json:
example:
status_code: 500
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: internal_server_error
error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong.
error_url: https://stytch.com/docs/api/errors/500
x-code-samples:
- lang: csharp
label: C#
source: "// DELETE /v1/connected_apps/clients/{client_id}\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n client_id: \"${exampleM2MClientID}\",\n};\n\nclient.ConnectedApp.Clients.Delete(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: go
label: Go
source: "// DELETE /v1/connected_apps/clients/{client_id}\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\t\"github.com/stytchauth/stytch-go/v17/stytch/b2b/b2bstytchapi\"\n\t\"github.com/stytchauth/stytch-go/v17/stytch/consumer/connectedapps/clients\"\n)\n\nfunc main() {\n\tclient, err := b2bstytchapi.NewClient(\n\t\t\"${projectId}\",\n\t\t\"${secret}\",\n\t)\n\tif err != nil {\n\t\tlog.Fatalf(\"error instantiating client: %v\", err)\n\t}\n\n\tparams := &clients.DeleteParams{\n\t\tClientID: \"${exampleM2MClientID}\",\n\t}\n\n\tresp, err := client.ConnectedApp.Clients.Delete(context.Background(), params)\n\tif err != nil {\n\t\tlog.Fatalf(\"error in method call: %v\", err)\n\t}\n\n\tlog.Println(resp)\n}\n"
- lang: java
label: Java
source: "// DELETE /v1/connected_apps/clients/{client_id}\npackage com.example;\n\nimport com.stytch.java.b2b.StytchB2BClient;\nimport com.stytch.java.common.StytchResult;\nimport com.stytch.java.consumer.models.connectedappsclients.DeleteRequest;\n\npublic class Main {\n public static void main(String[] args) {\n StytchB2BClient.configure(\"${projectId}\", \"${secret}\");\n\n DeleteRequest params = new DeleteRequest();\n params.setClientId(\"${exampleM2MClientID}\");\n\n Object result = StytchB2BClient.getConnectedApp().getClients().delete(params);\n if (result instanceof StytchResult.Success) {\n System.out.println(((StytchResult.Success) result).getValue());\n } else {\n System.out.println(((StytchResult.Error) result).getException());\n }\n }\n}"
- lang: kotlin
label: Kotlin
source: "// DELETE /v1/connected_apps/clients/{client_id}\npackage com.example\n\nimport com.stytch.java.b2b.StytchB2BClient\nimport com.stytch.java.consumer.models.connectedappsclients.DeleteRequest\n\nfun main() {\n StytchB2BClient.configure(\n projectId = \"${projectId}\",\n secret = \"${secret}\",\n )\n\n when (\n val result =\n StytchB2BClient.connectedApp.clients.delete(\n DeleteRequest(\n clientId = \"${exampleM2MClientID}\",\n ),\n )\n ) {\n is StytchResult.Success -> println(result.value)\n is StytchResult.Error -> println(result.exception)\n }\n}\n"
- lang: javascript
label: Node.js
source: "// DELETE /v1/connected_apps/clients/{client_id}\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n client_id: \"${exampleM2MClientID}\",\n};\n\nclient.connectedApp.clients.delete(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: php
label: PHP
source: "$response = $client->connected_app->clients->delete([\n 'client_id' => '${exampleM2MClientID}',\n]);"
- lang: python
label: Python
source: "# DELETE /v1/connected_apps/clients/{client_id}\nfrom stytch import B2BClient\n\nclient = B2BClient(\n project_id=\"${projectId}\",\n secret=\"${secret}\",\n)\n\nresp = client.connected_app.clients.delete(\n client_id=\"${exampleM2MClientID}\",\n)\n\nprint(resp)\n"
- lang: ruby
label: Ruby
source: "# DELETE /v1/connected_apps/clients/{client_id}\nrequire 'stytch'\n\nclient = StytchB2B::Client.new(\n project_id: \"${projectId}\",\n secret: \"${secret}\"\n)\n\nresp = client.connected_app.clients.delete(\n client_id: \"${exampleM2MClientID}\"\n \n)\n\nputs resp"
- lang: rust
label: Rust
source: "// DELETE /v1/connected_apps/clients/{client_id}\nuse stytch::b2b::client::Client;\nuse stytch::consumer::connected_apps_clients::DeleteRequest;\n\nfn main() {\n let client = Client::new(\"${projectId}\", \"${secret}\").unwrap();\n let resp = client.connected_app.clients.delete(\n DeleteRequest{\n client_id: \"${exampleM2MClientID}\",\n ..Default::default()\n }\n ).await;\n println!(\"The response is {:?}\", resp);\n}"
- lang: bash
label: cURL
source: "# DELETE /v1/connected_apps/clients/{client_id}\ncurl --request DELETE \\\n --url https://test.stytch.com/v1/connected_apps/clients/${exampleM2MClientID} \\\n -u '${projectId}:${secret}' \\\n -H 'Content-Type: application/json'"
/v1/connected_apps/clients/search:
post:
summary: Search
operationId: api_connectedapps_v1_connected_apps_clients_Search
tags:
- Connected Apps
description: Search for Connected Apps. Supports cursor-based pagination. Specific filters coming soon.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_SearchRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_SearchResponse'
'400':
description: Bad request
'401':
description: Unauthorized
content:
application/json:
example:
status_code: 401
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: unauthorized_credentials
error_message: Unauthorized credentials.
error_url: https://stytch.com/docs/api/errors/401
'429':
description: Too Many Requests
content:
application/json:
example:
status_code: 429
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: too_many_requests
error_message: Too many requests have been made.
error_url: https://stytch.com/docs/api/errors/429
'500':
description: Internal server error
content:
application/json:
example:
status_code: 500
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: internal_server_error
error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong.
error_url: https://stytch.com/docs/api/errors/500
x-code-samples:
- lang: csharp
label: C#
source: "// POST /v1/connected_apps/clients/search\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n limit: 10,\n};\n\nclient.ConnectedApp.Clients.Search(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: go
label: Go
source: "// POST /v1/connected_apps/clients/search\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\t\"github.com/stytchauth/stytch-go/v17/stytch/b2b/b2bstytchapi\"\n\t\"github.com/stytchauth/stytch-go/v17/stytch/consumer/connectedapps/clients\"\n)\n\nfunc main() {\n\tclient, err := b2bstytchapi.NewClient(\n\t\t\"${projectId}\",\n\t\t\"${secret}\",\n\t)\n\tif err != nil {\n\t\tlog.Fatalf(\"error instantiating client: %v\", err)\n\t}\n\n\tparams := &clients.SearchParams{\n\t\tLimit: 10,\n\t}\n\n\tresp, err := client.ConnectedApp.Clients.Search(context.Background(), params)\n\tif err != nil {\n\t\tlog.Fatalf(\"error in method call: %v\", err)\n\t}\n\n\tlog.Println(resp)\n}\n"
- lang: java
label: Java
source: "// POST /v1/connected_apps/clients/search\npackage com.example;\n\nimport com.stytch.java.b2b.StytchB2BClient;\nimport com.stytch.java.common.StytchResult;\nimport com.stytch.java.consumer.models.connectedappsclients.SearchRequest;\n\npublic class Main {\n public static void main(String[] args) {\n StytchB2BClient.configure(\"${projectId}\", \"${secret}\");\n\n SearchRequest params = new SearchRequest();\n params.setLimit(10);\n\n Object result = StytchB2BClient.getConnectedApp().getClients().search(params);\n if (result instanceof StytchResult.Success) {\n System.out.println(((StytchResult.Success) result).getValue());\n } else {\n System.out.println(((StytchResult.Error) result).getException());\n }\n }\n}"
- lang: kotlin
label: Kotlin
source: "// POST /v1/connected_apps/clients/search\npackage com.example\n\nimport com.stytch.java.b2b.StytchB2BClient\nimport com.stytch.java.consumer.models.connectedappsclients.SearchRequest\n\nfun main() {\n StytchB2BClient.configure(\n projectId = \"${projectId}\",\n secret = \"${secret}\",\n )\n\n when (\n val result =\n StytchB2BClient.connectedApp.clients.search(\n SearchRequest(\n limit = 10,\n ),\n )\n ) {\n is StytchResult.Success -> println(result.value)\n is StytchResult.Error -> println(result.exception)\n }\n}\n"
- lang: javascript
label: Node.js
source: "// POST /v1/connected_apps/clients/search\nconst stytch = require('stytch');\n\nconst client = new stytch.B2BClient({\n project_id: '${projectId}',\n secret: '${secret}',\n});\n\nconst params = {\n limit: 10,\n};\n\nclient.connectedApp.clients.search(params)\n .then(resp => { console.log(resp) })\n .catch(err => { console.log(err) });"
- lang: php
label: PHP
source: "$response = $client->connected_app->clients->search([\n 'limit' => 10,\n]);"
- lang: python
label: Python
source: "# POST /v1/connected_apps/clients/search\nfrom stytch import B2BClient\n\nclient = B2BClient(\n project_id=\"${projectId}\",\n secret=\"${secret}\",\n)\n\nresp = client.connected_app.clients.search(\n limit=10,\n)\n\nprint(resp)\n"
- lang: ruby
label: Ruby
source: "# POST /v1/connected_apps/clients/search\nrequire 'stytch'\n\nclient = StytchB2B::Client.new(\n project_id: \"${projectId}\",\n secret: \"${secret}\"\n)\n\nresp = client.connected_app.clients.search(\n limit: 10\n \n)\n\nputs resp"
- lang: rust
label: Rust
source: "// POST /v1/connected_apps/clients/search\nuse stytch::b2b::client::Client;\nuse stytch::consumer::connected_apps_clients::SearchRequest;\n\nfn main() {\n let client = Client::new(\"${projectId}\", \"${secret}\").unwrap();\n let resp = client.connected_app.clients.search(\n SearchRequest{\n limit: 10,\n ..Default::default()\n }\n ).await;\n println!(\"The response is {:?}\", resp);\n}"
- lang: bash
label: cURL
source: "# POST /v1/connected_apps/clients/search\ncurl --request POST \\\n --url https://test.stytch.com/v1/connected_apps/clients/search \\\n -u '${projectId}:${secret}' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"limit\": 10\n }'"
/v1/connected_apps/clients:
post:
summary: Create
operationId: api_connectedapps_v1_connected_apps_clients_Create
tags:
- Connected Apps
description: 'Creates a new Connected App. If the Connected App `client_type` is `first_party` or `third_party` a `client_secret` is returned.
**Important:** This is the only time you will be able to view the generated `client_secret` in the API response. Stytch stores a hash of the `client_secret` and cannot recover the value if lost. Be sure to persist the `client_secret` in a secure location. If the `client_secret` is lost, you will need to trigger a secret rotation flow to receive another one.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_CreateRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/api_connectedapps_v1_connected_apps_clients_CreateResponse'
'400':
description: Bad request
'401':
description: Unauthorized
content:
application/json:
example:
status_code: 401
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: unauthorized_credentials
error_message: Unauthorized credentials.
error_url: https://stytch.com/docs/api/errors/401
'429':
description: Too Many Requests
content:
application/json:
example:
status_code: 429
request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
error_type: too_many_requests
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stytch/refs/heads/main/openapi/stytch-connected-apps-api-openapi.yml