Class: VisaAcceptanceMergedSpec::InstrumentIdentifierApi

Inherits:
BaseApi
  • Object
show all
Defined in:
lib/visa_acceptance_merged_spec/apis/instrument_identifier_api.rb

Overview

InstrumentIdentifierApi

Constant Summary

Constants inherited from BaseApi

BaseApi::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseApi

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseApi

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from VisaAcceptanceMergedSpec::BaseApi

Instance Method Details

#delete_instrument_identifier(instrument_identifier_id, profile_id: nil) ⇒ ApiResponse

| | | | | --- | --- | --- | |Instrument Identifiers
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing
and account numbers.
The same token Id is returned for a specific card number or bank account & routing number allowing the
Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-custome r-payment-instrument)
or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrume nt).|      |Deleting an Instrument Identifier
Your system can use this API to delete an existing Instrument Identifier.
An Instrument Identifier cannot be deleted if it is linked to any Payment Instruments.
You can [retrieve all Payment Instruments associated with an Instrument Identifier](#token-management_instrument-identifier_list-payment-instrumen ts-for-an-instrument-identifier). Instrument Identifier. containing user specific TMS configuration.

Parameters:

  • instrument_identifier_id (String)

    Required parameter: The Id of an

  • profile_id (String) (defaults to: nil)

    Optional parameter: The Id of a profile

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
# File 'lib/visa_acceptance_merged_spec/apis/instrument_identifier_api.rb', line 295

def delete_instrument_identifier(instrument_identifier_id,
                                 profile_id: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::DELETE,
                                 '/tms/v1/instrumentidentifiers/{instrumentIdentifierId}',
                                 Server::DEFAULT)
               .template_param(new_parameter(instrument_identifier_id, key: 'instrumentIdentifierId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(profile_id, key: 'profile-id'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(And.new('BearerAuth', 'Accept')))
    .response(new_response_handler
                .is_response_void(true)
                .is_api_response(true)
                .local_error('403',
                             'Forbidden: e.g. The profile might not have permission to'\
                              ' perform the operation.',
                             DeleteInstrumentIdentifierException1Exception)
                .local_error('404',
                             'Token Not Found. The Id may not exist or was entered'\
                              ' incorrectly.',
                             DeleteInstrumentIdentifierException21Exception)
                .local_error('409',
                             'Conflict. The token is linked to a Payment Instrument.',
                             DeleteInstrumentIdentifierException31Exception)
                .local_error('410',
                             'Token Not Available. The token has been deleted.',
                             DeleteInstrumentIdentifierException41Exception)
                .local_error('424',
                             'Failed Dependency: e.g. The profile represented by the'\
                              ' profile-id may not exist or the profile-id was entered'\
                              ' incorrectly.',
                             DeleteInstrumentIdentifierException21Exception)
                .local_error('500',
                             'Unexpected error.',
                             DeleteInstrumentIdentifierException61Exception))
    .execute
end

#get_instrument_identifier(instrument_identifier_id, profile_id: nil, retrieve_bin_details: nil) ⇒ ApiResponse

| | | | | --- | --- | --- | |Instrument Identifiers
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-custome r-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrume nt).

Retrieving an Instrument Identifier
Your system can use this API to retrieve an Instrument Identifier.
Note: the actual card data will be masked.
The Instrument Identifier will also be returned when retrieving a Customer, [Customer Payment Instrument](#token-management_customer-payment-instrument_retrieve-a-custo mer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_retrieve-a-payment-instru ment).|      |Payment Network Tokens
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-i dentifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

Payments with Instrument Identifiers

To perform a payment with an Instrument Identifier simply specify the [Instrument Identifier Id in the payments request along with the expiration date, card type, & billing address](#payments_payments_process-a-payment_samplerequests-dropdown_auth orization-using-tokens_authorization-with-instrument-identifier-token-id_l iveconsole-tab-request-body).
When an Instrument Identifier is used in a payment the previousTransactionId and originalAuthorizedAmount values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments. Instrument Identifier. containing user specific TMS configuration. Retrieve the Bin Details of PAN or network token

Parameters:

  • instrument_identifier_id (String)

    Required parameter: The Id of an

  • profile_id (String) (defaults to: nil)

    Optional parameter: The Id of a profile

  • retrieve_bin_details (TrueClass | FalseClass) (defaults to: nil)

    Optional parameter:

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/visa_acceptance_merged_spec/apis/instrument_identifier_api.rb', line 145

def get_instrument_identifier(instrument_identifier_id,
                              profile_id: nil,
                              retrieve_bin_details: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/tms/v1/instrumentidentifiers/{instrumentIdentifierId}',
                                 Server::DEFAULT)
               .template_param(new_parameter(instrument_identifier_id, key: 'instrumentIdentifierId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(profile_id, key: 'profile-id'))
               .query_param(new_parameter(retrieve_bin_details, key: 'retrieveBinDetails'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(And.new('BearerAuth', 'Accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(GetInstrumentIdentifierResponse.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Bad Request: e.g. A required header value could be missing.',
                             GetInstrumentIdentifierException1Exception)
                .local_error('403',
                             'Forbidden: e.g. The profile might not have permission to'\
                              ' perform the operation.',
                             GetInstrumentIdentifierException21Exception)
                .local_error('404',
                             'Token Not Found. The Id may not exist or was entered'\
                              ' incorrectly.',
                             GetInstrumentIdentifierException31Exception)
                .local_error('410',
                             'Token Not Available. The token has been deleted.',
                             GetInstrumentIdentifierException41Exception)
                .local_error('424',
                             'Failed Dependency: e.g. The profile represented by the'\
                              ' profile-id may not exist or the profile-id was entered'\
                              ' incorrectly.',
                             GetInstrumentIdentifierException31Exception)
                .local_error('500',
                             'Unexpected error.',
                             GetInstrumentIdentifierException61Exception))
    .execute
end

#get_instrument_identifier_payment_instruments_list(instrument_identifier_id, profile_id: nil, retrieve_bin_details: nil, offset: 0, limit: 20) ⇒ ApiResponse

| | | | | --- | --- | --- | |Instrument Identifiers
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing
and account numbers.
The same token Id is returned for a specific card number or bank account & routing number allowing the
Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-custome r-payment-instrument)
or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrume nt).|      |Retrieving all Payment Instruments associated with an Instrument Identifier
Your system can use this API to retrieve all Payment Instruments linked to an Instrument Identifier. Instrument Identifier. containing user specific TMS configuration. Retrieve the Bin Details of PAN or network token dataset that should be returned as the first object in the array. Default is 0. returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100.

Parameters:

  • instrument_identifier_id (String)

    Required parameter: The Id of an

  • profile_id (String) (defaults to: nil)

    Optional parameter: The Id of a profile

  • retrieve_bin_details (TrueClass | FalseClass) (defaults to: nil)

    Optional parameter:

  • offset (Integer) (defaults to: 0)

    Optional parameter: Starting record in zero-based

  • limit (Integer) (defaults to: 20)

    Optional parameter: The maximum number that can be

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'lib/visa_acceptance_merged_spec/apis/instrument_identifier_api.rb', line 364

def get_instrument_identifier_payment_instruments_list(instrument_identifier_id,
                                                       profile_id: nil,
                                                       retrieve_bin_details: nil,
                                                       offset: 0,
                                                       limit: 20)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/tms/v1/instrumentidentifiers/{instrumentIdentifierId}/paymentinstruments',
                                 Server::DEFAULT)
               .template_param(new_parameter(instrument_identifier_id, key: 'instrumentIdentifierId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(profile_id, key: 'profile-id'))
               .query_param(new_parameter(retrieve_bin_details, key: 'retrieveBinDetails'))
               .query_param(new_parameter(offset, key: 'offset'))
               .query_param(new_parameter(limit, key: 'limit'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(And.new('BearerAuth', 'Accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PaymentInstrumentList.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Bad Request: e.g. A required header value could be missing.',
                             GetInstrumentIdentifierPaymentInstrumentsListException1Exception)
                .local_error('403',
                             'Forbidden: e.g. The profile might not have permission to'\
                              ' perform the operation.',
                             GetInstrumentIdentifierPaymentInstrumentsListException21Exception)
                .local_error('404',
                             'Token Not Found. The Id may not exist or was entered'\
                              ' incorrectly.',
                             GetInstrumentIdentifierPaymentInstrumentsListException31Exception)
                .local_error('410',
                             'Token Not Available. The token has been deleted.',
                             GetInstrumentIdentifierPaymentInstrumentsListException41Exception)
                .local_error('424',
                             'Failed Dependency: e.g. The profile represented by the'\
                              ' profile-id may not exist or the profile-id was entered'\
                              ' incorrectly.',
                             GetInstrumentIdentifierPaymentInstrumentsListException31Exception)
                .local_error('500',
                             'Unexpected error.',
                             GetInstrumentIdentifierPaymentInstrumentsListException61Exception))
    .execute
end

#patch_instrument_identifier(instrument_identifier_id, body, profile_id: nil, retrieve_bin_details: nil, if_match: nil) ⇒ ApiResponse

| | | | | --- | --- | --- | |Instrument Identifiers
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-custome r-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrume nt).|      |Updating an Instrument Identifier
When an Instrument Identifier is used in a payment the previousTransactionId and originalAuthorizedAmount values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments.
Your system can use this API to update these values. Instrument Identifier. the previous transaction Id to update. containing user specific TMS configuration. Retrieve the Bin Details of PAN or network token GET request to make the request conditional.

Parameters:

  • instrument_identifier_id (String)

    Required parameter: The Id of an

  • body (PatchInstrumentIdentifierRequest)

    Required parameter: Specify

  • profile_id (String) (defaults to: nil)

    Optional parameter: The Id of a profile

  • retrieve_bin_details (TrueClass | FalseClass) (defaults to: nil)

    Optional parameter:

  • if_match (String) (defaults to: nil)

    Optional parameter: Contains an ETag value from a

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'lib/visa_acceptance_merged_spec/apis/instrument_identifier_api.rb', line 217

def patch_instrument_identifier(instrument_identifier_id,
                                body,
                                profile_id: nil,
                                retrieve_bin_details: nil,
                                if_match: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::PATCH,
                                 '/tms/v1/instrumentidentifiers/{instrumentIdentifierId}',
                                 Server::DEFAULT)
               .template_param(new_parameter(instrument_identifier_id, key: 'instrumentIdentifierId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter('application/json;charset=utf-8', key: 'Content-Type'))
               .body_param(new_parameter(body)
                            .is_required(true))
               .header_param(new_parameter(profile_id, key: 'profile-id'))
               .query_param(new_parameter(retrieve_bin_details, key: 'retrieveBinDetails'))
               .header_param(new_parameter(if_match, key: 'if-match'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(And.new('BearerAuth', 'Accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PatchInstrumentIdentifierResponse.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Bad Request: e.g. A required header value could be missing.',
                             PatchInstrumentIdentifierException1Exception)
                .local_error('403',
                             'Forbidden: e.g. The profile might not have permission to'\
                              ' perform the operation.',
                             PatchInstrumentIdentifierException21Exception)
                .local_error('404',
                             'Token Not Found. The Id may not exist or was entered'\
                              ' incorrectly.',
                             PatchInstrumentIdentifierException31Exception)
                .local_error('410',
                             'Token Not Available. The token has been deleted.',
                             PatchInstrumentIdentifierException41Exception)
                .local_error('412',
                             'Precondition Failed: The If-Match request header value does'\
                              ' not match the current resources ETag',
                             PatchInstrumentIdentifierException51Exception)
                .local_error('424',
                             'Failed Dependency: e.g. The profile represented by the'\
                              ' profile-id may not exist or the profile-id was entered'\
                              ' incorrectly.',
                             PatchInstrumentIdentifierException31Exception)
                .local_error('500',
                             'Unexpected error.',
                             PatchInstrumentIdentifierException71Exception))
    .execute
end

#post_instrument_identifier(body, profile_id: nil, retrieve_bin_details: nil) ⇒ ApiResponse

| | | | | --- | --- | --- | |Instrument Identifiers
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-custome r-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrume nt).

Creating an Instrument Identifier
It is recommended you [create an Instrument Identifier via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdow n_authorization-with-token-create_authorization-with-instrument-identifier -token-creation_liveconsole-tab-request-body), this can be for a zero amount.
An Instrument Identifier will also be created if you [create a Customer via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdow n_authorization-with-token-create_authorization-with-customer-token-creati on_liveconsole-tab-request-body)
In Europe: You should perform Payer Authentication alongside the Authorization.|      |Payment Network Tokens
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-i dentifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

Payments with Instrument Identifiers
To perform a payment with an Instrument Identifier simply specify the [Instrument Identifier Id in the payments request along with the expiration date, card type, & billing address](#payments_payments_process-a-payment_samplerequests-dropdown_auth orization-using-tokens_authorization-with-instrument-identifier-token-id_l iveconsole-tab-request-body).
When an Instrument Identifier is used in a payment the previousTransactionId and originalAuthorizedAmount values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments. either a Card, Bank Account or Enrollable Card containing user specific TMS configuration. Retrieve the Bin Details of PAN or network token

Parameters:

  • body (PostInstrumentIdentifierRequest)

    Required parameter: Specify

  • profile_id (String) (defaults to: nil)

    Optional parameter: The Id of a profile

  • retrieve_bin_details (TrueClass | FalseClass) (defaults to: nil)

    Optional parameter:

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/visa_acceptance_merged_spec/apis/instrument_identifier_api.rb', line 58

def post_instrument_identifier(body,
                               profile_id: nil,
                               retrieve_bin_details: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/tms/v1/instrumentidentifiers',
                                 Server::DEFAULT)
               .header_param(new_parameter('application/json;charset=utf-8', key: 'Content-Type'))
               .body_param(new_parameter(body)
                            .is_required(true))
               .header_param(new_parameter(profile_id, key: 'profile-id'))
               .query_param(new_parameter(retrieve_bin_details, key: 'retrieveBinDetails'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(And.new('BearerAuth', 'Accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PostInstrumentIdentifierResponse.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Bad Request: e.g. A required header value could be missing.',
                             PostInstrumentIdentifierException1Exception)
                .local_error('403',
                             'Forbidden: e.g. The profile might not have permission to'\
                              ' perform the operation.',
                             PostInstrumentIdentifierException21Exception)
                .local_error('409',
                             'Conflict. The token is linked to a Payment Instrument.',
                             PostInstrumentIdentifierException31Exception)
                .local_error('424',
                             'Failed Dependency: e.g. The profile represented by the'\
                              ' profile-id may not exist or the profile-id was entered'\
                              ' incorrectly.',
                             PostInstrumentIdentifierException41Exception)
                .local_error('500',
                             'Unexpected error.',
                             PostInstrumentIdentifierException51Exception))
    .execute
end

#post_instrument_identifier_enrollment(instrument_identifier_id, body, profile_id: nil) ⇒ ApiResponse

| | | | | --- | --- | --- | |Instrument Identifiers
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-custome r-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrume nt).|      |Enroll an Instrument Identifier for a Payment Network Token
Your system can use this API to provision a Network token for an existing Instrument Identifier.
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Network token can be [provisioned when creating an Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-i dentifier_samplerequests-dropdown_create-instrument-identifier-card-enroll -for-network-token_liveconsole-tab-request-body).This will occur automatically when creating a [Customer](#payments_payments_process-a-payment_samplerequests-dropdown_au thorization-with-token-create_authorization-with-customer-token-creation_l iveconsole-tab-request-body), [Payment Instrument](#payments_payments_process-a-payment_samplerequests-dropdown_a uthorization-with-token-create_authorization-create-default-payment-instru ment-shipping-address-for-existing-customer_liveconsole-tab-request-body) or [Instrument Identifier](#payments_payments_process-a-payment_samplerequests-dropdown_a uthorization-with-token-create_authorization-with-instrument-identifier-to ken-creation_liveconsole-tab-request-body) via the Payments API.
For more information about Payment Network Tokens see the Developer Guide. Instrument Identifier. parameter: Specify Enrollable Card details containing user specific TMS configuration.

Parameters:

  • instrument_identifier_id (String)

    Required parameter: The Id of an

  • body (PostInstrumentIdentifierEnrollmentRequest)

    Required

  • profile_id (String) (defaults to: nil)

    Optional parameter: The Id of a profile

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
# File 'lib/visa_acceptance_merged_spec/apis/instrument_identifier_api.rb', line 452

def post_instrument_identifier_enrollment(instrument_identifier_id,
                                          body,
                                          profile_id: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/tms/v1/instrumentidentifiers/{instrumentIdentifierId}/enrollment',
                                 Server::DEFAULT)
               .template_param(new_parameter(instrument_identifier_id, key: 'instrumentIdentifierId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter('application/json;charset=utf-8', key: 'Content-Type'))
               .body_param(new_parameter(body)
                            .is_required(true))
               .header_param(new_parameter(profile_id, key: 'profile-id'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(And.new('BearerAuth', 'Accept')))
    .response(new_response_handler
                .is_response_void(true)
                .is_api_response(true)
                .local_error('400',
                             'Bad Request: e.g. A required header value could be missing.',
                             PostInstrumentIdentifierEnrollmentException1Exception)
                .local_error('403',
                             'Forbidden: e.g. The profile might not have permission to'\
                              ' perform the operation.',
                             PostInstrumentIdentifierEnrollmentException21Exception)
                .local_error('404',
                             'Token Not Found. The Id may not exist or was entered'\
                              ' incorrectly.',
                             PostInstrumentIdentifierEnrollmentException31Exception)
                .local_error('410',
                             'Token Not Available. The token has been deleted.',
                             PostInstrumentIdentifierEnrollmentException41Exception)
                .local_error('424',
                             'Failed Dependency: e.g. The profile represented by the'\
                              ' profile-id may not exist or the profile-id was entered'\
                              ' incorrectly.',
                             PostInstrumentIdentifierEnrollmentException31Exception)
                .local_error('500',
                             'Unexpected error.',
                             PostInstrumentIdentifierEnrollmentException61Exception))
    .execute
end