openapi: 3.0.2 info: title: Finix Authorizations Devices API description: $ref: api-descriptions/main.md contact: name: Finix url: https://finix.com email: support@finixpayments.com version: '2022-02-01' servers: - description: Sandbox server to be used for testing and development url: https://finix.sandbox-payments-api.com security: - BasicAuth: [] tags: - name: Devices description: $ref: api-descriptions/tags/devices.md paths: /devices/{device_id}: parameters: - description: ID of the `Device`. required: true in: path name: device_id schema: type: string put: description: 'Initiate an action on a `Device`. Actions that are available include: - Activating the `Device` - Rebooting the `Device` - Setting an idle message - Deactivating the `Device` You can also use a PUT request to update the `configuration_details`, `description`, `name`, and `serial_number` of the `Device`.' summary: Initiate Action on Device operationId: updateDevice requestBody: $ref: '#/components/requestBodies/UpdateDeviceRequest' responses: '200': $ref: '#/components/responses/Device' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' x-java-method-name: update tags: - Devices parameters: - schema: type: string default: '2018-01-01' example: '2022-02-01' in: header name: Finix-Version description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/) x-python-method-name: update get: description: Retrieve the details of an existing `Device`. summary: Fetch a Device operationId: getDevice responses: '200': $ref: '#/components/responses/Device' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' x-java-method-name: get parameters: - schema: type: boolean in: query name: include_connection description: Specifies whether the connection information should be included. x-group-parameters: true tags: - Devices x-codeSamples: - lang: cURL label: curl source: "curl \"https://finix.sandbox-payments-api.com/devices/DVsEanpBtsAVvCHbNXkFaH6f\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USjHFGYvecE4LBitYG8KDE2g:b698f403-d9b7-4157-82d8-162cea8c8cc3\n" x-python-method-name: get /devices/{device_id_connection}: parameters: - schema: type: string name: device_id_connection in: path required: true get: description: To check the connection of the `Device`, include `?include_connection\=true\` at the end of the request endpoint. summary: Check Device Connection operationId: getDeviceConnection responses: '200': $ref: '#/components/responses/Device' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' x-java-method-name: get_device_connection parameters: - schema: type: boolean in: query name: include_connection description: Specifies whether the connection information should be included. required: true x-group-parameters: true tags: - Devices x-codeSamples: - lang: cURL label: curl source: "curl \"https://finix.sandbox-payments-api.com/devices/DVsEanpBtsAVvCHbNXkFaH6f?include_connection=true\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USjHFGYvecE4LBitYG8KDE2g:b698f403-d9b7-4157-82d8-162cea8c8cc3\n" x-python-method-name: get_device_connection /merchants/{merchant_id}/devices: parameters: - description: ID of the `Merchant` object. required: true in: path name: merchant_id schema: type: string post: description: Create a `Device` under a `Merchant`. summary: Create a Device operationId: createMerchantDevice responses: '200': $ref: '#/components/responses/Device' '400': $ref: '#/components/responses/ErrorUnprocessableEntity' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' x-internal: false tags: - Devices requestBody: $ref: '#/components/requestBodies/CreateDeviceRequest' x-java-method-name: create x-codeSamples: - lang: cURL label: curl source: $ref: xcode/curl/devices/create-device.md x-python-method-name: create components: headers: x-request-id: description: A unique ID for this specific API request attempt. schema: type: string date: schema: type: string finix-apiuser-role: schema: type: string enum: - ROLE_ADMIN - ROLE_PLATFORM - ROLE_PARTNER - ROLE_MERCHANT schemas: ErrorGeneric: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - FORBIDDEN logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string Error403ForbiddenList: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - FORBIDDEN logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string description: '' title: '' UpdatedAt: type: string title: UpdatedAt format: date-time description: Timestamp of when the object was last updated. Device: type: object title: Device description: '`Device` resource.' properties: id: type: string description: The ID of the activated `Device`. created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' configuration_details: type: object title: DeviceConfigDetails description: Information used to configure how the `Device` handles transactions. nullable: true properties: allow_debit: type: boolean description: Allow transaction to be processed on Debit rails. If **false**, Debit card transactions will be processed on Credit rails. bypass_device_on_capture: type: boolean description: Sets whether or not the device will be used to capture transactions. This field must be set to **true** (defaults to **false**). nullable: true check_for_duplicate_transactions: type: boolean description: Sets whether the `Device` will check for duplicate transactions. prompt_amount_confirmation: type: boolean description: Sets if the card holder needs to confirm the amount they will pay (defaults to **true**). prompt_manual_entry: type: boolean description: Sets if the device defaults to manual entry as the default card input method. (defaults to **false**). prompt_signature: type: string description: 'Sets if the device will prompt the card holder for a signature by default. Available values include: