For Agents
Programmatically connect user to bringin or onboard new users, get user's kyc onboarding status. Covers 9 operations with apiKey, bearer authentication.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Bringin APIs, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Bringin APIs API.
Connect user to Bringin or onboard new users
Get user's KYC onboarding status
Add beneficiary bank details
Create Offramp order
Monitor # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` operational status and events
GET STARTED
Use for: I need to connect user to bringin or onboard new users, I want to user's kyc onboarding status, Search for add beneficiary bank details, Find all all beneficiaries
Not supported: Does not handle payments, communications, or developer tools — use for crm only.
Jentic publishes the only available OpenAPI document for Bringin APIs, keeping it validated and agent-ready.
Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. Use Cases 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to E. The API exposes 9 endpoints secured with apiKey, bearer authentication.
Patterns agents use Bringin APIs API for, with concrete tasks.
★ CRM Operations
Use the # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` to perform crm operations programmatically. The API provides 9 endpoints covering core functionality including connect user to bringin or onboard new users, get user's kyc onboarding status, add beneficiary bank details.
Call POST /api/v0/application/connect to connect user to bringin or onboard new users
Automated User Onboarding Management
Automate user onboarding operations by combining multiple # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` endpoints. Agents can get user's kyc onboarding status and then add beneficiary bank details in a single workflow.
9 endpoints — bringin apis bringin apis enable you to make bitcoin on and off-ramp services available for your european customers.
METHOD
PATH
DESCRIPTION
/api/v0/application/connect
Connect user to Bringin or onboard new users
/api/v0/user/kyc-status/{userId}
Get user's KYC onboarding status
/api/v0/user/beneficiary
Add beneficiary bank details
/api/v0/user/beneficiary/{userId}
Get all beneficiaries
/api/v0/offramp/rates
Get offramp exchange rates
/api/v0/offramp/
Create Offramp order
/api/v0/offramp/order/get-details
Get offramp order status
/api/v0/offramp/transfer/initiate
Initiate bank transfer
/api/v0/application/connect
Connect user to Bringin or onboard new users
/api/v0/user/kyc-status/{userId}
Get user's KYC onboarding status
/api/v0/user/beneficiary
Add beneficiary bank details
/api/v0/user/beneficiary/{userId}
Get all beneficiaries
/api/v0/offramp/rates
Get offramp exchange rates
Three things that make agents converge on Jentic-routed access.
Credential isolation
# Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` apiKey, bearer credentials are stored encrypted in the Jentic vault (MAXsystem). Agents receive scoped access tokens — raw secrets never enter the agent context.
Intent-based discovery
Agents search by intent (e.g., 'connect user to bringin or onboard new users') and Jentic returns the matching # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` operation with its input schema, so the agent can call the right endpoint without browsing docs.
Time to first call
Direct # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` integration: 1-3 days for auth handling, response parsing, and error cases. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Hubspot
Alternative crm API
Choose Hubspot when you need a different approach to crm operations
Salesforce
Alternative crm API
Choose Salesforce when you need a different approach to crm operations
Pipedrive
Complementary crm API
Choose Pipedrive when you need a complementary approach to crm operations
Zoho
Complementary crm API
Choose Zoho when you need a complementary approach to crm operations
Specific to using Bringin APIs API through Jentic.
What authentication does the Bringin APIs use?
The Bringin APIs uses apiKey, bearer authentication. Through Jentic, these credentials are stored encrypted in the MAXsystem vault and injected at execution time, so raw secrets never enter the agent context.
Can I connect user to bringin or onboard new users with the Bringin APIs?
Yes. Use the POST /api/v0/application/connect endpoint. The API returns structured JSON responses that agents can parse and act on directly.
What are the rate limits for the Bringin APIs?
Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.
How do I integrate Bringin APIs through Jentic?
Install the Jentic SDK with pip install jentic, authenticate at https://app.jentic.com/sign-up, then search for the operation you need. Jentic returns the matching Bringin APIs operation with its input schema. Load the schema and execute the call — credentials are injected automatically.
How many endpoints does the Bringin APIs have?
The Bringin APIs exposes 9 endpoints covering user onboarding, bank beneficiaries, offramp operations.
Call GET /api/v0/user/kyc-status/{userId} to get user's kyc onboarding status, then verify the result
AI Agent Integration via Jentic
AI agents discover and call # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle apiKey, bearer tokens manually.
Search Jentic for 'connect user to bringin or onboard new users', load the operation schema, and execute with Jentic-managed credentials
/api/v0/offramp/
Create Offramp order
/api/v0/offramp/order/get-details
Get offramp order status
/api/v0/offramp/transfer/initiate
Initiate bank transfer