Transactions

Authentication

All our APIs are authenticated via an API key and secret which are base64-encoded and sent in the header with the parameter name as Authorization.

Authorization : Basic ZTIxxxxmNA==


Executing a Workflow Transaction

Request Format

To execute a Transaction send a POST request to the Workflow Transactions API endpoint: /transactions. All requests should be made over HTTPS and TLS 1.2, with Server Name Indication enabled. Any requests made over HTTP will fail.

You may use Content-Type: application/json with all PUT and POST requests, except when uploading documents or live photos. For these requests, use a Content-Type: multipart/form-data header.

Request Description

KeyValueDescription
workflowIdA unique string of 32 charactersThis string uniquely identifies Bureau’s Workflow endpoint.
entity_idA unique valueThe value uniquely identifies a single EntityLearn More
dataObjectA JSON object containing the required input parameters for the Capabilities inside the Workflow.

Example

An example of a data object containing input parameters for a Workflow:

"data": {
        "name":"",
        "address":"",
        "phoneNumber":"",              
        "dob":""
}

Sample Request

curl --location --request POST
'https://api.sandbox.bureau.id/transactions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic NDE4MmI30MjY1YQ=='\
--data-raw '{
      /* workflowID is a unique 32-character string identifying Bureau’s orchestration endpoint */
      "workflowId": "585274d2-xxxx-4183-xxxx-071d778c640f",
      "data": {
              "name":"",
              "address":"",
              "phoneNumber":"",              
              "dob":""
      }
  }'

Retrieving Transaction Data

Calling a Workflow Transaction

The response to a Workflow Transaction will include a Transaction ID. You may fetch the full content of a Transaction by calling /transactions/{transactionId}

Sample Request

curl --location --request GET
'https://api.sandbox.bureau.id/transactions/{transactionId}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic NDE4MmI30MjY1YQ=='\

Sample Response

Responses return JSON with a consistent structure, except downloads.

{
	"statusCode": 200,
	"error": "",
	"status": "OK",
	"timestamp": 1665638721854,
	"transactionId": "0d583eab-xxxx-4be0-xxxx-07c2d4a306ec",
	"merchantId": "auth0|61dfbxxxxx0071be7021",
	"entityId": "73f7bc1e-e18d-4253-9a6d-7f09d2b0a41b",
	"entityType": "",
	"workflowId": "88694a52-xxxx-4c79-xxxx-f753615c52bf",
	"entityName": "",
	"workflowName": "EPF Test 01 2/2",
	"tags": {},
	"outcome": "ACCEPTED",
	"transactionTimeline": [{
		"index": 1,
		"updatedAt": 1665638721854,
		"updatedBy": "",
		"outcome": "ACCEPTED",
		"comments": ""
	}],
	"services": {
		"Person Search - Galaxy API": {
			"status": "OK",
			"response": {
				...               }
		},
		"OTP - One-time Password": {
			"status": "OK",
			"response": {
				...			}
		},
		"KBA - Knowledge-based Authentication": {
			"status": "OK",
			"response": {
				...			}
		}
	},
	"awaits": {
		"Awaits": {
			"status": "OK",
			"response": {
				"data": [{
						"displayName": "OTP",
						"key": "otp",
						"set": true
					}
				]
			}
		}
	},
	"outcomeReasons": [],
	"transactionRawInput": {
		"merchantId": "",
		"uan": "101xxxxx58"
	},
	"documents": [],
	"devices": []
}{
	"statusCode": 200,
	"error": "",
	"status": "OK",
	"timestamp": 1665638721854,
	"transactionId": "0d583eab-xxxx-4be0-xxxx-07c2d4a306ec",
	"merchantId": "auth0|61dfbxxxxx0071be7021",
	"entityId": "73f7bc1e-e18d-4253-9a6d-7f09d2b0a41b",
	"entityType": "",
	"workflowId": "88694a52-xxxx-4c79-xxxx-f753615c52bf",
	"entityName": "",
	"workflowName": "EPF Test 01 2/2",
	"tags": {},
	"outcome": "ACCEPTED",
	"transactionTimeline": [{
		"index": 1,
		"updatedAt": 1665638721854,
		"updatedBy": "",
		"outcome": "ACCEPTED",
		"comments": ""
	}],
	"services": {
		"Person Search - Galaxy API": {
			"status": "OK",
			"response": {
				...               }
		},
		"OTP - One-time Password": {
			"status": "OK",
			"response": {
				...			}
		},
		"KBA - Knowledge-based Authentication": {
			"status": "OK",
			"response": {
				...			}
		}
	},
	"awaits": {
		"Awaits": {
			"status": "OK",
			"response": {
				"data": [{
						"displayName": "OTP",
						"key": "otp",
						"set": true
					}
				]
			}
		}
	},
	"outcomeReasons": [],
	"transactionRawInput": {
		"merchantId": "",
		"uan": "101xxxxx58"
	},
	"documents": [],
	"devices": []
}

Transaction Detail Records

The Bureau Platform offers an interface for fraud analysts to investigate and manually review all transactions as they investigate potential fraud incidents and recently onboarded users.

Accepted transaction

Accepted transaction

Rejected Transaction

Rejected Transaction


What’s Next