For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeel Home
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
  • Resources
    • Blog
    • Community
    • API spec
  • Endpoints
      • POSTAdd/Edit Bank Details
      • PATCHChange the auto-withdrawal setting
      • POSTCreate a bank transfer method
      • DELDelete Bank Details
      • POSTDynamic Requirements
      • GETFetch all payout methods
      • GETGet Bank Details
      • GETGet bank transfer requirements
      • GETGet bank transfer supported routes for contractor
      • GETGet the auto-withdrawal setting
      • GETList Contractor Balances
      • POSTRequest to withdraw funds
      • PUTUpdate a bank transfer method
      • POSTUpdate auto withdraw setting for contractor
    • PATCHProfiles
LogoLogo
SupportDeel Home
EndpointsPayouts

Dynamic Requirements

POST
/payouts/employees/methods/bank_transfers/requirements
POST
/rest/v2/payouts/employees/methods/bank_transfers/requirements
$curl -X POST https://api.letsdeel.com/rest/v2/payouts/employees/methods/bank_transfers/requirements \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "data": {
> "current_state": {
> "payment_type": "bank_transfer",
> "currency_code": "EUR",
> "bank_country_code": "LT"
> }
> }
>}'
1{
2 "data": {
3 "steps": [
4 {
5 "name": "CUSTOMIZE_ACCOUNT",
6 "banner": null,
7 "header": "Custom account name",
8 "categories": [
9 {
10 "name": "CUSTOMIZATION",
11 "alert": {
12 "type": "INFO",
13 "title": "Account Name",
14 "message": "Add custom account name"
15 },
16 "banner": null,
17 "fields": [
18 {
19 "id": 1678,
20 "key": "custom_name",
21 "name": "Account Custom Name",
22 "type": "text",
23 "example": null,
24 "tooltip": null,
25 "category": "CUSTOMIZATION",
26 "disabled": false,
27 "required": false,
28 "sensitive": false,
29 "max_length": "30",
30 "min_length": "0",
31 "values_allowed": null,
32 "validation_regexp": null,
33 "validation_regex_flags": null
34 }
35 ],
36 "header": "Account name",
37 "priority": 1
38 }
39 ],
40 "right_side_placeholder": "Customize account"
41 },
42 {
43 "name": "BANK_DETAILS",
44 "banner": null,
45 "header": "Bank account details",
46 "categories": [
47 {
48 "name": "ROUTING",
49 "banner": null,
50 "fields": [
51 {
52 "id": 1676,
53 "key": "payment_type",
54 "name": "Payment type",
55 "type": "select",
56 "example": null,
57 "tooltip": null,
58 "category": "ROUTING",
59 "disabled": false,
60 "required": false,
61 "sensitive": false,
62 "values_allowed": null,
63 "validation_regexp": null,
64 "validation_regex_flags": null
65 },
66 {
67 "id": 1677,
68 "key": "currency_code",
69 "name": "Currency",
70 "type": "select",
71 "example": null,
72 "tooltip": null,
73 "category": "ROUTING",
74 "disabled": false,
75 "required": true,
76 "sensitive": false,
77 "values_allowed": null,
78 "validation_regexp": null,
79 "validation_regex_flags": null
80 },
81 {
82 "id": 1679,
83 "key": "bank_country_code",
84 "name": "Bank Country Code",
85 "type": "select",
86 "example": null,
87 "tooltip": null,
88 "category": "ROUTING",
89 "disabled": false,
90 "required": true,
91 "sensitive": false,
92 "values_allowed": null,
93 "validation_regexp": null,
94 "validation_regex_flags": null
95 }
96 ],
97 "header": "Payment details",
98 "priority": 2
99 },
100 {
101 "name": "BANK_DETAILS",
102 "banner": null,
103 "fields": [
104 {
105 "id": 109,
106 "key": "swift_bic",
107 "name": "SWIFT BIC Code",
108 "type": "text",
109 "example": null,
110 "tooltip": null,
111 "category": "BANK_DETAILS",
112 "disabled": false,
113 "required": true,
114 "sensitive": false,
115 "max_length": "11",
116 "min_length": "8",
117 "values_allowed": null,
118 "validation_regexp": null,
119 "validation_regex_flags": null
120 },
121 {
122 "id": 321,
123 "key": "iban",
124 "name": "IBAN",
125 "type": "text",
126 "example": null,
127 "tooltip": null,
128 "category": "BANK_DETAILS",
129 "disabled": false,
130 "required": true,
131 "sensitive": false,
132 "values_allowed": null,
133 "validation_regexp": null,
134 "validation_regex_flags": null
135 }
136 ],
137 "header": "Account details",
138 "priority": 1
139 }
140 ],
141 "right_side_placeholder": "Add bank account details"
142 },
143 {
144 "name": "RECIPIENT_DETAILS",
145 "banner": null,
146 "header": "Personal information",
147 "categories": [
148 {
149 "name": "PERSONAL",
150 "banner": null,
151 "fields": [
152 {
153 "id": 34,
154 "key": "full_name",
155 "name": "Full Name",
156 "type": "text",
157 "example": null,
158 "tooltip": null,
159 "category": "PERSONAL",
160 "disabled": false,
161 "required": true,
162 "sensitive": false,
163 "max_length": "140",
164 "min_length": "1",
165 "values_allowed": null,
166 "validation_regexp": null,
167 "validation_regex_flags": null
168 }
169 ],
170 "header": "Recipient details",
171 "priority": 2
172 },
173 {
174 "name": "ADDRESS",
175 "banner": null,
176 "fields": [
177 {
178 "id": 68,
179 "key": "address_line1",
180 "name": "Address Line 1",
181 "type": "text",
182 "example": null,
183 "tooltip": null,
184 "category": "ADDRESS",
185 "disabled": false,
186 "required": true,
187 "sensitive": false,
188 "max_length": "70",
189 "min_length": "1",
190 "values_allowed": null,
191 "validation_regexp": null,
192 "validation_regex_flags": null
193 },
194 {
195 "id": 69,
196 "key": "address_line2",
197 "name": "Address Line 2",
198 "type": "text",
199 "example": null,
200 "tooltip": null,
201 "category": "ADDRESS",
202 "disabled": false,
203 "required": false,
204 "sensitive": false,
205 "max_length": "70",
206 "min_length": "0",
207 "values_allowed": null,
208 "validation_regexp": null,
209 "validation_regex_flags": null
210 },
211 {
212 "id": 70,
213 "key": "city",
214 "name": "City",
215 "type": "text",
216 "example": null,
217 "tooltip": null,
218 "category": "ADDRESS",
219 "disabled": false,
220 "required": true,
221 "sensitive": false,
222 "max_length": "35",
223 "min_length": "1",
224 "values_allowed": null,
225 "validation_regexp": null,
226 "validation_regex_flags": null
227 },
228 {
229 "id": 107,
230 "key": "country_code",
231 "name": "Country Code",
232 "type": "select",
233 "example": null,
234 "tooltip": null,
235 "category": "ADDRESS",
236 "disabled": false,
237 "required": true,
238 "sensitive": false,
239 "values_allowed": null,
240 "validation_regexp": null,
241 "validation_regex_flags": null
242 },
243 {
244 "id": 211,
245 "key": "province_state",
246 "name": "State",
247 "type": "text",
248 "example": null,
249 "tooltip": null,
250 "category": "ADDRESS",
251 "disabled": false,
252 "required": true,
253 "sensitive": false,
254 "max_length": "35",
255 "min_length": "1",
256 "values_allowed": null,
257 "validation_regexp": null,
258 "validation_regex_flags": null
259 },
260 {
261 "id": 287,
262 "key": "postal",
263 "name": "Postal Code",
264 "type": "text",
265 "example": null,
266 "tooltip": null,
267 "category": "ADDRESS",
268 "disabled": false,
269 "required": true,
270 "sensitive": false,
271 "values_allowed": null,
272 "validation_regexp": null,
273 "validation_regex_flags": null
274 }
275 ],
276 "header": "Address",
277 "priority": 1
278 }
279 ],
280 "right_side_placeholder": "Add recipient details"
281 }
282 ],
283 "is_final": true,
284 "requirements_id": 1250
285 }
286}
Returns the progressive field requirements needed to configure a bank transfer payout method, based on the data provided in the request. The `is_final` flag in the response indicates whether all requirements have been satisfied; callers should continue submitting updated data until `is_final` is `true` before calling `POST /payouts/employees/methods`. **Token scopes**: `worker:read`, `worker:write`
Was this page helpful?
Previous

Fetch all payout methods

Next
Built with

Returns the progressive field requirements needed to configure a bank transfer payout method, based on the data provided in the request. The is_final flag in the response indicates whether all requirements have been satisfied; callers should continue submitting updated data until is_final is true before calling POST /payouts/employees/methods. Token scopes: worker:read, worker:write

Authentication

AuthorizationBearer
## Authentication The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail. ```curl curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \ -H 'Authorization: Bearer YOUR-TOKEN-HERE' ``` [Learn more about authentication](/api/authentication)
OR
AuthorizationBearer

Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/

Request

This endpoint expects an object.
dataobjectOptional
Request data

Response

Dynamic Requirements
dataobject
Response data

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error

Authentication

The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.

1curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
2 -H 'Authorization: Bearer YOUR-TOKEN-HERE'

Learn more about authentication