Partners

partner is the corporate entity doing business with Finicity, typically creating software that will access Finicity's aggregation or other financial web services. Finicity's Partner resource includes services for obtaining a temporary access token, and for changing the stored partner secret. 

See Active Docs to experiment directly with the API.

Available services:

Partner Authentication
POST /v2/partners/authentication

To access Finicity's API, the machine connecting to the API must be located inside the United States or Canada. TLS 1.2 or higher is required for all requests to the API.

Validate the partner’s credentials (Finicity-App-KeyPartner ID, and Partner Secret) and return a temporary access token. The token must be passed in the HTTP header Finicity-App-Token on all subsequent API requests (see Accessing the API).

The token is valid for two hours. Your code should call this service once every 90 to 120 minutes, and then store that token to be used for all calls during that two-hour lifetime. Calling authentication more frequently will create a lot of redundant traffic for you and us to handle.

Five unsuccessful authentication attempts will cause the partner’s account to be locked. To unlock the account, send an email to Finicity Support.

JSON Implementation

Request Details:

Parameter Type Description
Finicity-App-Key HTTP header Finicity-App-Key from Developer Portal
Content-Type HTTP header application/json
Accept HTTP header application/json
partnerId JSON field Partner ID from Developer Portal
partnerSecret JSON field Partner Secret from Developer Portal

Success: HTTP 200 (OK)

Example Request:

POST https://api.finicity.com/aggregation/v2/partners/authentication
{
"partnerId": "PARTNER_ID",
"partnerSecret": "PARTNER_SECRET"
}

Using curl:

curl -v -H "Finicity-App-Key:APP_KEY" -H "Content-Type:application/json" -H "Accept:application/json" -X POST "https://api.finicity.com/aggregation/v2/partners/authentication" -d '{ "partnerId": "PARTNER_ID", "partnerSecret": "PARTNER_SECRET" }'

Response Details:

Field Name Description
token A temporary access token, which must be passed in the HTTP header Finicity-App-Token on all subsequent API requests (see Accessing the API).

Example Response:

{
"token": "ACCESS_TOKEN"
}

XML Implementation

Request Details:

Parameter Type Description
Finicity-App-Key HTTP header Finicity-App-Key from Developer Portal
Content-Type HTTP header application/xml
Accept HTTP header application/xml
credentials XML element Root element
partnerId XML element Partner ID from Developer Portal
partnerSecret XML element Partner Secret from Developer Portal

Success: HTTP 200 (OK)

Example Request:

POST https://api.finicity.com/aggregation/v2/partners/authentication
<credentials>
  <partnerId>PARTNER_ID</partnerId>
  <partnerSecret>PARTNER_SECRET</partnerSecret>
</credentials>

Using curl:

curl -v -H "Finicity-App-Key:APP_KEY" -H "Content-Type:application/xml" -H "Accept:application/xml" -X POST "https://api.finicity.com/aggregation/v2/partners/authentication" -d '<credentials><partnerId>PARTNER_ID</partnerId><partnerSecret>PARTNER_SECRET</partnerSecret></credentials>'

Response Details:

XML Name Description
access Root element
token A temporary access token, which must be passed in the HTTP header Finicity-App-Token on all subsequent API requests (see Accessing the API).

Example Response:

<access>
 <token>ACCESS_TOKEN</token>
</access>

Modify Partner Secret
PUT /v2/partners/authentication

Change the partner secret that is used to authenticate this partner. The secret does not expire, but can be changed by calling Modify Partner Secret. A valid partner secret may contain upper- and lowercase characters, numbers, and the characters !, @, #, $, %, &, *, _, -, +. It must include at least one number and at least one letter, and its length should be between 12 and 255 characters.

JSON Implementation

Request Details:

Parameter Type Description
Finicity-App-Key HTTP header Finicity-App-Key from Developer Portal
Content-Type HTTP header application/json
partnerId JSON field Partner ID from Developer Portal
partnerSecret JSON field Current value of Partner Secret from Developer Portal
newPartnerSecret JSON field  The new value for Partner Secret

Success: HTTP 204 (No Content)

Example Request:

PUT https://api.finicity.com/aggregation/v2/partners/authentication
{
  "partnerId": "PARTNER_ID",
  "partnerSecret": "PARTNER_SECRET",
  "newPartnerSecret": "NEW_PARTNER_SECRET"
}

Using curl:

curl -v -H "Finicity-App-Key:APP_KEY" -H "Content-Type:application/json" -H "Accept:application/json" -X PUT "https://api.finicity.com/aggregation/v2/partners/authentication" -d '{ "partnerId": "PARTNER_ID", "partnerSecret": "PARTNER_SECRET", "newPartnerSecret": "NEW_PARTNER_SECRET" }'

XML Implementation

Request Details:

Parameter Type Description
Finicity-App-Key HTTP header Finicity-App-Key from Developer Portal
Content-Type HTTP header application/xml
credentials XML element Root element
partnerId XML element Partner ID from Developer Portal
partnerSecret XML element Current value of Partner Secret from Developer Portal
 newPartnerSecret XML element  The new value for Partner Secret

Success: HTTP 204 (No Content)

Example Request:

PUT https://api.finicity.com/aggregation/v2/partners/authentication
<credentials>
  <partnerId>PARTNER_ID</partnerId>
  <partnerSecret>PARTNER_SECRET</partnerSecret>
  <newPartnerSecret>NEW_PARTNER_SECRET</newPartnerSecret>
</credentials>

Using curl:

curl -v -H "Finicity-App-Key:APP_KEY" -H "Content-Type:application/xml" -H "Accept:application/xml" -X PUT "https://api.finicity.com/aggregation/v2/partners/authentication" -d '<credentials><partnerId>PARTNER_ID</partnerId><partnerSecret>PARTNER_SECRET</partnerSecret><newPartnerSecret>NEW_PARTNER_SECRET</newPartnerSecret></credentials>'

 

Have more questions? Submit a request

Comments

Powered by Zendesk