> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ecrypt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create

> Create a new terminal.



## OpenAPI

````yaml swagger-001.json POST /v1/terminals
openapi: 3.0.4
info:
  title: Ecrypt API
  description: Ecrypt API
  termsOfService: https://ecrypt.com
  contact:
    name: Dev Support
    url: https://developer.ecrypt.com
    email: devsupport@ecrypt.com
  version: v1
servers:
  - url: https://api.ecrypt.com
    description: Live
security:
  - x-api-key: []
paths:
  /v1/terminals:
    post:
      tags:
        - Terminals
      summary: Create
      description: "Create a new terminal.\r\n\r\nSample request:\r\n\r\nPOST v1/terminals/\r\n{\r\n    \"nickname\":\"NICKNAME\",\r\n    \"registration_code\":\"******\"\r\n}"
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterRequestModel
          text/json:
            schema:
              $ref: >-
                #/components/schemas/Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterRequestModel
          application/*+json:
            schema:
              $ref: >-
                #/components/schemas/Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterRequestModel
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterResponseModel
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ecrypt.Gateway.Api.Core.Model.BadRequest'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: Too Many Requests
components:
  schemas:
    Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterRequestModel:
      required:
        - nickname
        - registrationCode
      type: object
      properties:
        registrationCode:
          minLength: 1
          type: string
          description: >-
            Registration code is listed on your powered up terminal.  This is a
            6 character code.
        deviceId:
          type: string
          description: >-
            Device identifier is on the back of your terminal.  This is an 8
            character code. Required for Canadian processing.
          nullable: true
        nickname:
          maxLength: 20
          minLength: 1
          pattern: ^[0-9A-Za-z _-]*$
          type: string
          description: >-
            Terminal nickname will be displayed on the terminal, and in the
            console.
        configuration:
          $ref: >-
            #/components/schemas/Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterRequestModelConfiguration
      additionalProperties: false
      nullable: true
    Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterResponseModel:
      required:
        - requestId
      type: object
      properties:
        terminals:
          type: array
          items:
            $ref: >-
              #/components/schemas/Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalViewModel
          nullable: true
        requestId:
          maxLength: 100
          minLength: 1
          type: string
          default: '000000000000000000000'
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/Ecrypt.Gateway.Api.Core.Model.ResponseBaseError
          nullable: true
      additionalProperties: false
      nullable: true
    Ecrypt.Gateway.Api.Core.Model.BadRequest:
      required:
        - requestId
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Ecrypt.Gateway.Api.Core.Model.BadRequestError'
          nullable: true
        requestId:
          maxLength: 100
          minLength: 1
          type: string
          default: '000000000000000000000'
      additionalProperties: false
      nullable: true
    Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalRegisterRequestModelConfiguration:
      type: object
      properties:
        promptTip:
          type: boolean
          description: >-
            Prompt for Tip will display tip at time of sale options.  If your
            account does not support tip at time of sale this option will be
            ignored.
          nullable: true
        tipAmounts:
          type: array
          items:
            type: number
            format: decimal
          description: "Tip amounts in dollar format.  Terminals can support 3 or 4 tip amounts depending on the terminal.  Any extra items will be ignored.  This is required if you set Prompt for Tip to true.\r\n\r\nExample: [28.23, 33.88, 37.65, 41.41]"
          nullable: true
        promptCvv:
          type: boolean
          description: >-
            Prompt for CVV/CVC will attempt to override the card verification
            requirement and force CVV/CVC input.
          nullable: true
        promptPostalCode:
          type: boolean
          description: >-
            Prompt for Postal Code will allow the customer to enter their
            billing postal code.
          nullable: true
        promptAmountConfirmation:
          type: boolean
          description: >-
            Prompt for Amount Confirmation will force the customer to approve
            the transaction amount.
          nullable: true
        promptSignature:
          type: boolean
          description: >-
            Prompt for Signature will show the signature screen on compatible
            terminals.
          nullable: true
        keyCard:
          type: boolean
          description: Prompt Key Card will allow you to manually enter the card details.
          nullable: true
      additionalProperties: false
      nullable: true
    Ecrypt.Gateway.Api.Core.Model.Terminals.TerminalViewModel:
      type: object
      properties:
        id:
          type: string
        make:
          type: string
        model:
          type: string
        serialNumber:
          type: string
        nickname:
          type: string
        status:
          type: string
      additionalProperties: false
      nullable: true
    Ecrypt.Gateway.Api.Core.Model.ResponseBaseError:
      type: object
      properties:
        type:
          type: string
        message: {}
      additionalProperties: false
      nullable: true
    Ecrypt.Gateway.Api.Core.Model.BadRequestError:
      type: object
      properties:
        type:
          type: string
        message: {}
      additionalProperties: false
      nullable: true
  securitySchemes:
    x-api-key:
      type: apiKey
      description: Authorization by x-api-key inside request's header
      name: x-api-key
      in: header

````