openapi: 3.2.0
info:
title: Program Location Management API
version: '4.0'
servers:
- url: api-{corename}.{env}.gpsrv.com/intserv/4.0/
tags:
- name: Location Management
paths:
/createLocation:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Create Location
description: Use the Create Location endpoint to create a new store location, associated with a provider-specific ID, and nest it below a parent location (store). The first location you create will be designated location 0, the top-level location.
parameters: []
tags:
- Location Management
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
transactionId:
type: string
minimum: 1
maximum: 60
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
name:
type: string
description: 'The name of the location.
Pattern: Max 85 characters: letters, numbers, spaces, `_` (underscore), `''` (single quote), `-` (hyphen), `.` (period). All other characters will be removed.
Example: `"ABC Store 5"`'
example: ABC Store 5
address1:
type: string
description: 'First address line of the location.
Pattern: 4–40 alphanumeric characters
Example: `"33 Maple Street"`'
example: 33 Maple Street
address2:
type:
- string
- 'null'
description: 'Second address line of the location.
Pattern: Max 30 alphanumeric characters
Example: `"#4B"`'
example: '#4B'
city:
type: string
description: 'City for the location.
Pattern: Max 30 characters: letters, spaces, hyphen and period
Example: `"Salt Lake City"`'
example: Salt Lake City
state:
type: string
minLength: 2
maxLength: 2
description: 'State or province for the location.
Pattern: 2-character state or province abbreviation
Example: `"UT"`'
example: UT
postalCode:
type: string
minLength: 5
maxLength: 10
pattern: ^[a-zA-Z0-9\-\ ]*$
description: 'Postal (ZIP) code for the location.
Pattern: `12345`, `12345-1234`, `K1A-1A1`
Example: `"84121"`'
example: '84121'
countryCode:
type:
- string
- 'null'
pattern: '[0-9]{3}$'
description: 'TCountry for the location. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia.
Pattern: Three-digit country code
Example: `"840"`'
example: '840'
phone:
type:
- string
- 'null'
description: 'Phone number of the location.
Pattern: Exactly 10 digits, no hyphens or other characters
Example: `"8013656060"`'
example: '8013656060'
parentLocation:
type: string
pattern: ^[a-zA-Z0-9]{1,20}$
description: 'Identifier for the parent location. The first time you create a location, pass `0`.
Pattern: Integer if `parentLocationType: 0`; max 15 characters if `parentLocationType: 1`
Example: `"5"`'
example: '5'
parentLocationType:
type: integer
format: int32
enum:
- 0
- 1
- 2
description: 'The type of location specified in `parentLocation`. If `parentLocation` is the top-level value from SoFi Tech Solutions, then pass `0` for this parameter.
* `0` — SoFi Tech Solutions location ID
* `1` — Partner location ID
* `2` — Don''t validate
Pattern: `0`, `1` or `2`
Example: `0`'
example: 0
providerSpecifiedId:
type:
- string
- 'null'
pattern: ^[a-zA-Z0-9]{1,15}$
description: 'The provider-supplied identifier for a location, when `parentLocationType: 1`.
Pattern: Max 15 alphanumeric characters
Example: `"abc-123"`'
example: abc-123
status:
type:
- string
- 'null'
enum:
- C
- N
- S
- n
description: 'Location status. Default `N`:
* `C` — Closed
* `N` — Active
* `S` — Suspended
* `n` — New
Pattern: Single character, case-sensitive
Example: `"N"`'
example: N
store_type:
type:
- string
- 'null'
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- 'null'
description: 'The store or location type. Default `5`:
* `1` — Corporate
* `2` — Chain
* `3` — Reseller
* `4` — Region
* `5` — Store
Pattern: Single digit or `null`
Example: `"5"`'
example: '5'
required:
- address1
- city
- name
- parentLocation
- parentLocationType
- postalCode
- state
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
format: int32
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
format: float
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type: object
properties:
location:
type: string
description: Numerical value assigned to the location
required:
- location
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.042,\n \"response_data\": {\n \"location\": \"3048\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"Y4IS8887GMBXO42UMKQI\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:46:27\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.039\n \n 3065\n \n \n \n \n VSK8TMQ8MTHOB698MVI5\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:40:39\n"
description: ''
operationId: post_createlocation
/modifyLocation:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Modify Location
description: 'Use the Modify Location endpoint to update data elements that are related to the location. Pass only the parameters to be modified — leave the rest blank.
#### Nullifying data elements
You can pass `null` for the following parameters to set the value in the database to `null`.
| | |
|:--|:--|
| `name` | `address1` |
| `address2` | `city` |
| `phone` | `providerSpecifiedId`|'
parameters: []
tags:
- Location Management
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
transactionId:
type: string
minimum: 1
maximum: 60
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
name:
type:
- string
- 'null'
description: 'The name of the location.
Pattern: Max 85 alphanumeric characters
Example: `"ABC Store #5"`'
example: 'ABC Store #5'
address1:
type:
- string
- 'null'
description: 'First address line of the location.
Pattern: 4–40 alphanumeric characters
Example: `"33 Maple Street"`'
example: 33 Maple Street
address2:
type:
- string
- 'null'
description: 'Second address line of the location.
Pattern: Max 30 alphanumeric characters
Example: `"#4B"`'
example: '#4B'
city:
type:
- string
- 'null'
description: 'City for the location.
Pattern: Max 30 characters: letters, spaces, hyphen and period
Example: `"Salt Lake City"`'
example: Salt Lake City
state:
type:
- string
- 'null'
description: "State or province for the location. \nPattern: String\nExample: `\"UT\"`"
example: UT
postalCode:
type:
- string
- 'null'
minLength: 5
maxLength: 10
pattern: ^[a-zA-Z0-9\-\ ]*$
description: 'Postal (ZIP) code for the location.
Pattern: `12345`, `12345-1234`, `K1A-1A1`
Example: `"84121"`'
example: '84121'
countryCode:
type:
- string
- 'null'
pattern: '[0-9]{3}$'
description: 'Country for the location. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia.
Pattern: Numeric string
Example: `"840"`'
example: '840'
phone:
type:
- string
- 'null'
description: 'Phone number of the location.
Pattern: Exactly 10 digits, no hyphens or other characters
Example: `"8013656060"`'
example: '8013656060'
location:
type: string
pattern: ^[a-zA-Z0-9]{1,20}$
description: 'Unique location identifier (`location`) as returned by the Create Location endpoint. This value is also returned by the Get Locations endpoint depending on the value of `locationType` when the location was created:
* `0` or `2` — Returned in the `location_id` field
* `1` — Returned in the `provider_specified_id` field
Pattern: String
Example: `"a455-3483"`'
example: a455-3483
locationType:
type: string
pattern: ^[0|1|2]$
description: 'Type of ID in `location`:
* `0` — SoFi Tech Solutions location ID
* `1` — Partner location ID
* `2` — Don''t validate
Pattern: Numeric string
Example: `"0"`'
example: '0'
providerSpecifiedId:
type:
- string
- 'null'
pattern: ^[a-zA-Z0-9]{1,20}$
description: 'The provider-supplied identifier for a location, when `parentLocationType: 1`.
Pattern: Max 15 alphanumeric characters
Example: `"abc-123"`'
example: abc-123
status:
type:
- string
- 'null'
enum:
- C
- N
- S
- n
description: 'Location status. Default `N`:
* `C` — Closed
* `N` — Active
* `S` — Suspended
* `n` — New
Pattern: Single character, case-sensitive
Example: `"N"`'
example: N
store_type:
type:
- string
- 'null'
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- 'null'
description: 'The store or location type. Default `5`:
* `1` — Corporate
* `2` — Chain
* `3` — Reseller
* `4` — Region
* `5` — Store
Pattern: Single digit or `null`
Example: `"5"`'
example: '5'
required:
- location
- locationType
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
format: int32
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
format: float
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
name:
type: string
description: Name of the location
address1:
type:
- string
- 'null'
description: Address 1 of the location
address2:
type:
- string
- 'null'
description: Address 2 of the location
city:
type:
- string
- 'null'
description: City of the location
state:
type:
- string
- 'null'
description: State of the location
postalCode:
type:
- string
- 'null'
description: Postal code of the location
phone:
type:
- string
- 'null'
description: The phone number associated with the locations
providerSpecifiedId:
type:
- string
- 'null'
description: The partner or program identity for a location
centralBillFlag:
type: integer
format: int32
description: Indicates a central corporate credit aggregate billing location
creditLimit:
type:
- number
- 'null'
format: float
description: The credit limit for this location
cycleType:
type:
- string
- 'null'
description: The type of time period
cycleInvoice:
type:
- integer
- 'null'
format: int32
description: If cycleType is weekly, the value must be a day of the week with 0 meaning Sunday. If cycleType is monthly, the value must be a day of the month from 1 to 28. If daily, the value is to be 1.
cycleStart:
type:
- integer
- 'null'
format: int32
description: Represents a day of the week or day of the month that the invoice cycle begins (1=Monday, 7=Sunday).
required:
- address1
- address2
- city
- name
- phone
- postalCode
- providerSpecifiedId
- state
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.067,\n \"response_data\": {\n \"name\": \"ABC Store 5\",\n \"address1\": \"33 Maple Street\",\n \"address2\": null,\n \"city\": \"Orem\",\n \"state\": \"UT\",\n \"postalCode\": \"84097\",\n \"phone\": \"8013656060\",\n \"providerSpecifiedId\": null\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"9C63COYZDDHOVOL1X8Y6\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:46:29\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.064\n \n ABC Store 5\n 33 Maple Street\n \n Orem\n UT\n 84097\n 8013656060\n \n \n \n \n \n VCUASK9HIH3JXYKAR1BY\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:40:40\n"
description: ''
operationId: post_modifylocation
/getLocations:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Get Locations
description: Use the Get Locations endpoint to retrieve a list of locations according to the search criteria. You can search by location ID, location name, and location street address. You can use a partial match for location name and location street address.
parameters: []
tags:
- Location Management
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
transactionId:
type: string
minimum: 1
maximum: 60
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
searchCriteria:
type: string
pattern: ^.+$
description: 'String containing the search criteria. Must be of the type specified in `searchCriteriaType`.
Pattern: Alphanumeric string
Example: `"5544"`'
example: '5544'
searchCriteriaType:
type: string
pattern: ^[1|2|3]$
description: 'Type of criteria that is specified in `searchCriteria`:
* `1` — Location ID
* `2` — Location name, full or partial
* `3` — Location street address, full or partial
Pattern: Numeric string
Example: `"1"`'
example: '1'
required:
- searchCriteria
- searchCriteriaType
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
format: int32
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
format: float
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
locations:
type: array
description: List of locations
items:
type: object
properties:
location_id:
type: integer
format: int32
description: The numerical value assigned to the location
name:
type:
- string
- 'null'
description: The name of the location
address1:
type:
- string
- 'null'
description: Address 1 of the location
address2:
type:
- string
- 'null'
description: Address 2 of the location
city:
type:
- string
- 'null'
description: City of the location
state:
type:
- string
- 'null'
description: State of the location
postalCode:
type:
- string
- 'null'
description: Postal code of the location
parent_location_id:
type:
- string
- 'null'
description: The numerical ID of the parent location
provider_specified_id:
type:
- string
- 'null'
description: The partner or program identity for a location
centralBillFlag:
type: integer
format: int32
description: Indicates a central corporate credit aggregate billing location. Allows one centralized billing location for all invoice records attached to the location.
creditLimit:
type: number
format: float
description: The credit limit for this location
store_type:
type:
- string
- 'null'
description: The store or location type. Values are `Corporate`, `Chain`, `Reseller`, `Region`, or `Store`.
status:
type:
- string
- 'null'
description: Current status of the location. Values are `Closed`, `Active`, `Suspended`, or `New`.
fees:
type: array
description: List of fees attached to the location
items:
type: object
properties:
active:
type:
- string
- 'null'
description: Y/N field, determines if the fee is active
amount:
type:
- number
- 'null'
format: float
description: Amount of fee
amount_type:
type:
- string
- 'null'
description: 'Type of amount: flat or percent'
max_fee:
type:
- number
- 'null'
format: float
description: Maximum amount of fee
fee_type:
type:
- string
- 'null'
description: Type of fee, current support FBD and DEL
min_fee:
type:
- number
- 'null'
format: float
description: Minimum amount of the fee
required:
- address1
- address2
- city
- location_id
- name
- parent_location_id
- postalCode
- provider_specified_id
- state
- status
- store_type
required:
- locations
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.033,\n \"response_data\": {\n \"locations\": [\n {\n \"location_id\": \"7\",\n \"name\": \"my checking account\",\n \"address1\": \"33 Maple Street\",\n \"address2\": null,\n \"city\": \"Salt Lake City\",\n \"state\": \"UT\",\n \"postalCode\": \"84121\",\n \"parent_location_id\": \"1\",\n \"provider_specified_id\": null,\n \"store_type\": \"Store\",\n \"status\": \"Active\",\n \"fees\": []\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"6RU1Z5CAQSYJF89U1TGE\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:46:28\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.032\n \n \n \n 7\n my checking account\n 33 Maple Street\n \n Salt Lake City\n UT\n 84121\n 1\n \n \n \n \n \n \n \n \n \n JXQPK3UNRSISH33M07WP\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:40:39\n"
description: ''
operationId: post_getlocations
/createLocationFee:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Create Location Fee
description: 'Use the Create Location Fee endpoint to create a fee to assess at a location. A fee can be assessed as a flat rate or a percentage. When the fee is a percentage, you can specify minimum and maximum amounts. The fee becomes active upon creation and can be deactivated using the Modify Location Fee endpoint.
These are the fee types:
* `FBD` — FBE direct deposit fee
* `DEL` — ACH direct deposit fee'
parameters: []
tags:
- Location Management
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
transactionId:
type: string
minimum: 1
maximum: 60
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
location:
type: string
pattern: ^[a-zA-Z0-9]{1,20}$
description: 'Unique location identifier (`location`) as returned by the Create Location endpoint. This value is also returned by the Get Locations endpoint depending on the value of `locationType` when the location was created:
* `0` or `2` — Returned in the `location_id` field
* `1` — Returned in the `provider_specified_id` field
Pattern: Integer if `locationType: 0` or `locationType: 2`; max 15 characters if `locationType: 1`
Example: `"a455-3483"`'
example: a455-3483
locationType:
type: integer
format: int32
enum:
- 0
- 1
- 2
description: 'Type of ID in `location`:
* `0` — SoFi Tech Solutions location ID
* `1` — Partner location ID
* `2` — Don''t validate
Pattern: `0`, `1`, or `2`
Example: `0`'
example: '0'
feeType:
type: string
enum:
- FBD
- DEL
description: 'Type of fee to assess at this location. To set up both fee types at the same location, call this endpoint twice:
* `FBD` — Federal benefit enrollment direct-deposit fee
* `DEL` — ACH direct-deposit fee
Pattern: 3-character code
Example: `"FBD"`'
example: FBD
amount:
type: number
format: float
minimum: 0.01
maximum: 999999999999.99
description: 'Specify either a flat amount or a percentage. For a flat amount the valid range is between `.01` and `999`. For a percentage the valid range is `.01` (1%) to `1` (100%). When this parameter is populated then `amountType` is **required**.
Pattern: Positive integer or decimal number
Example: `1.23`'
example: '1.23'
amountType:
type: string
enum:
- percent
- flat
description: 'Specify which type of value is in `amount`:
* `flat` — Flat rate
* `percent` — Percentage
Pattern: String
Example: `"flat"`'
example: flat
minFee:
type:
- number
- 'null'
format: float
minimum: 0
maximum: 999999999999.99
description: 'The minimum amount for the fee, when `amountType: percent`.
Pattern: Positive integer or decimal number
Example: `1.10`'
example: '1.10'
maxFee:
type:
- number
- 'null'
format: float
minimum: 0
maximum: 999999999999.99
description: 'The maximum amount for the fee, when `amountType: percent`.
Pattern: Positive integer or decimal number
Example: `1.10`'
example: '1.10'
required:
- amount
- amountType
- feeType
- location
- locationType
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
format: int32
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
format: float
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
location:
type: integer
format: int32
description: SoFi Tech Solutions ID of the location, when `locationType` is `0` or `2`.
provider_specified_id:
type:
- string
- 'null'
description: Provider ID of the location, when `locationType` is `1`.
fee_type:
type:
- string
- 'null'
description: Type of fee, `FBD` (FBE direct deposit fee) or `DEL` (ACH direct deposit fee).
amount:
type: number
format: float
description: Amount of the fee.
amount_type:
type: string
description: 'The type of the amount: `flat` or `percent`.'
min_fee:
type:
- string
- 'null'
description: The minimum amount to charge, when `amount_type` is `percent`.
max_fee:
type:
- string
- 'null'
description: The minimum amount to charge, when `amount_type` is `percent`.
required:
- amount
- amount_type
- fee_type
- location
- max_fee
- min_fee
- provider_specified_id
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.023,\n \"response_data\": {\n \"location\": 4400002,\n \"provider_specified_id\": \"zzz4567\",\n \"fee_type\": \"FBD\",\n \"amount\": 1,\n \"amount_type\": \"flat\",\n \"min_fee\": 0,\n \"max_fee\": 0\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"7036a565-8d73-4ff5-96f0-5b0c8016fc2a\"\n },\n \"system_timestamp\": \"2025-09-02 14:15:19\",\n \"rtoken\": \"7a3bf2ae-11a4-4d1c-8679-926fa3d40d07\"\n}\n"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.576\n \n 4400004\n zzz4567\n FBD\n 1\n flat\n 0\n 0\n \n \n \n \n 4044d5d6-c7bf-46cf-96e9-72334dbc472d\n \n 2025-09-02 14:18:12\n c4653e5b-1693-4786-87ea-598cdfe4e3dc\n\n"
description: ''
operationId: post_createlocationfee
/modifyLocationFee:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Modify Location Fee
description: 'Use the Modify Location Fee endpoint to modify a fee that was created with the Create Location Fee endpoint. You cannot change `feeType` (`FBD` or `DEL`) with this endpoint. Instead, you must create a new fee with Create Location Fee and use this endpoint to deactivate the old fee.
For this endpoint, `amount` and `amountType` are not required, but if one of them is populated, then both are required.'
parameters: []
tags:
- Location Management
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
transactionId:
type: string
minimum: 1
maximum: 60
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
location:
type: string
pattern: ^[a-zA-Z0-9]{1,20}$
description: 'Identifier for the location that was created with Create Location. This value is returned by Get Locations in the `location_id` field when `locationType: 0` or `locationType: 2`, or in the `provider_specified_id` field when `locationType: 1`.
Pattern: Must be a number if type is 0; Must be less than or equal to 15 characters if type is 1.
Example: `"a455-3483"`'
example: a455-3483
locationType:
type: integer
format: int32
enum:
- 0
- 1
- 2
description: 'Location type, as specified by Create Location. 0=SoFi Tech Solutions location ID, 1=Partner location ID, 2=Don''t validate.
Pattern: `0`, `1` or `2`
Example: `"0"`'
example: '0'
feeType:
type: string
enum:
- FBD
- DEL
description: 'Type of fee as specified by Create Location Fee. This value must be the original value provided at the time of the fee creation: `FBD` (FBE direct deposit fee) or `DEL` (ACH direct deposit fee)
Pattern: `FBD` or `DEL`
Example: `"FBD"`'
example: FBD
amount:
type:
- number
- 'null'
format: float
minimum: 0.01
maximum: 999999999999.99
description: 'Specify either a flat amount or a percentage. For a flat amount the valid range is between `.01` and `999`. For a percentage the valid range is `.01` (1%) to `1` (100%). When this parameter is populated then `amountType` is required.
Pattern: 1, 1.10, 0.5
Example: 1.23'
example: '1.23'
amountType:
type:
- string
- 'null'
enum:
- percent
- flat
description: 'Specify whether the value in `amount` is a flat rate (`flat`) or a percentage (`percent`). When this parameter is populated then `amount` is required.
Pattern: `flat` or `percent`
Example: ''flat'''
example: '''flat'''''
minFee:
type:
- number
- 'null'
format: float
minimum: 0
maximum: 999999999999.99
description: 'The minimum amount for the fee, if the amount type is a percentage.
Pattern: 10, 20.5, 2.33
Example: 1.10'
example: '1.10'
maxFee:
type:
- number
- 'null'
format: float
minimum: 0
maximum: 999999999999.99
description: 'The maximum amount for the fee, if the amount type is a percentage.
Pattern: 10, 20.5, 2.33
Example: 1.10'
example: '1.10'
active:
type:
- string
- 'null'
enum:
- Y
- N
description: 'Specify whether to activate the fee (`Y`) or deactivate the fee (`N`).
Pattern: `Y` or `N`
Example: `"Y"`'
example: Y
required:
- feeType
- location
- locationType
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
format: int32
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
format: float
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
location:
type: integer
format: int32
description: SoFi Tech Solutions ID of the location, when `locationType` is `0` or `2`.
provider_specified_id:
type:
- string
- 'null'
description: Customer ID of the location, when `locationType` is `1`.
fee_type:
type:
- string
- 'null'
description: Type of fee, `FBD` (FBE direct deposit fee) or `DEL` (ACH direct deposit fee).
amount:
type: string
description: Amount of the fee.
amount_type:
type: string
description: 'The type of the amount: `flat` or `percent`.'
min_fee:
type:
- string
- 'null'
description: The minimum amount to charge, when `amount_type` is `percent`.
max_fee:
type:
- string
- 'null'
description: The maximum amount to charge, when `amount_type` is `percent`.
active:
type:
- string
- 'null'
description: Active flag for the fee.
required:
- active
- amount
- amount_type
- fee_type
- location
- max_fee
- min_fee
- provider_specified_id
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.018,\n \"response_data\": {\n \"location\": 4400024,\n \"provider_specified_id\": \"zzz4567\",\n \"fee_type\": \"FBD\",\n \"amount\": 2.5,\n \"amount_type\": \"flat\",\n \"min_fee\": 0,\n \"max_fee\": 0,\n \"active\": \"Y\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"80c75962-9443-4a1e-b3b2-ae5524372cbc\"\n },\n \"system_timestamp\": \"2025-09-02 14:20:53\",\n \"rtoken\": \"004c97a0-df05-4481-a549-35b0a376c230\"\n}\n"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.021\n \n 4400026\n zzz4567\n FBD\n 2\n flat\n 0\n 0\n Y\n \n \n \n \n 867f1a2d-73ad-48a8-b6fc-dcf3c7d0abc6\n \n 2025-09-02 14:23:03\n 5bbfc1ee-bae1-4c49-978b-12f3cc178152\n\n"
description: ''
operationId: post_modifylocationfee
components:
parameters:
ResponseContentTypeHeaderParam:
name: response-content-type
in: header
description: Use this header instead of the standard `accept` header to specify the response format.
schema:
type: string
enum:
- xml
- json
default: json
x-readme:
samples-languages:
- curl
- python
- node
- java
- go
- ruby
- javascript
explorer-enabled: true
proxy-enabled: true