Deluxe Payments Platform — Sandbox API (Deluxe-published OpenAPI)

The only OpenAPI document Deluxe publishes itself — an OpenAPI 3.0.0 definition titled "Deluxe Postman-Sandbox", served from Deluxe's own Stoplight workspace and describing the sandbox bearer token exchange plus consolidated transaction, report and vault endpoints on sandbox.api.deluxe.com. It documents an older, coarser shape of the platform than the 56-operation RAML set on developer.deluxe.com, and is saved here verbatim.

OpenAPI Specification

deluxe-postman-sandbox-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Deluxe Postman-Sandbox
  version: '1'
servers:
  - url: 'https://sandbox.api.deluxe.com'
components:
  securitySchemes:
    oauth2Auth:
      type: http
      scheme: basic
security:
  - oauth2Auth: []
paths:
  /secservices/oauth2/v2/token:
    post:
      summary: BearerToken
      parameters:
        - schema:
            type: string
            example: application/x-www-form-urlencoded
            default: application/x-www-form-urlencoded
          in: header
          name: Content-Type
          required: true
        - schema:
            type: string
            example: Basic REDACTED_CLIENT_ID_COLON_SECRET_BASE64
          in: header
          name: Authorization
          example: 'Basic {Base64Encoded}'
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    access_token: eyJraWQiOiJKNGRWRlUtSkNrUGpFdEN2aFpwdE0ybHNHVW9yNUUyQmE2QXFYdk1NcVZjIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULmdFbjBPYnRKRnI3X2VDeXpHYksyVHdienRlc1Ffc3JOcndFNVpaUlZGYmciLCJpc3MiOiJodHRwczovL2NpYW0tcHJldmlldy5kZWx1eGUuY29tL29hdXRoMi9tdWxlIiwiYXVkIjoiYXBpOi8vbXVsZSIsImlhdCI6MTY3NjM0NTM2OSwiZXhwIjoxNjc2MzQ4OTY5LCJjaWQiOiIwb2EzbWJxcWg1ZUg0dWJORjFkNyIsInNjcCI6WyJtdWxlc29mdF9zY29wZSJdLCJzdWIiOiIwb2EzbWJxcWg1ZUg0dWJORjFkNyIsImZpX2lkX2FsbHkiOjMzMzM3Nzc3fQ.gEd9-RrQCcFnx8j1RK7py86MSEgzplZlvDEcN7_w6sxFes1-ON9bX1nMHq7tmcktAEl0R1SgHV1ly387mnIEQ5LnrKjcLyaJkjyWVAdXwPhKvyLK9M15el7sX64PHxtBLScG3_l96X4kk5Oo29dmosGs1Heodqzmtvi20Id-H12Zcyg4ZopjVgCwqA_BPWz19Rvgr0MjUTeXsUoX00WyY_WHbrjVG16tOLugAAr4JfW1ML1xkFeCNAmkwDm67DC2I9yEF8KIakMtanxTBE5kDBB20G9Vwx3Sinv7wAW602IDH_wgfun4sPnoa2Fdk0PJJLfYvuKkjOUO4XKq6KPe7A
                    tokenExpiry_time: '2023-02-14T04:29:29Z'
                    expires_in: '3600'
                properties:
                  access_token:
                    type: string
                    description: This is the value that will be used with the required "Bearer" authorization header for making API calls to all Deluxe API endpoints.
                  tokenExpiry_time:
                    type: string
                    description: This is the date and time the "access_token" received will expire. This will need to be converted to your local date time.
                  expires_in:
                    type: string
                    description: The amount of time in seconds the token will expire
                required:
                  - access_token
                  - tokenExpiry_time
                  - expires_in
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  default: client_credentials
                  description: Grant type being requested
                scope:
                  type: string
                  default: mulesoft_scope
                  description: Scope for which the token is being request
              required:
                - grant_type
                - scope
          application/xml:
            schema:
              type: object
              properties: {}
          multipart/form-data:
            schema:
              type: object
              properties: {}
          text/html:
            schema:
              type: object
              properties: {}
          text/plain:
            schema:
              type: object
              properties: {}
          application/EDI-X12:
            schema:
              type: object
              properties: {}
          application/EDIFACT:
            schema:
              type: object
              properties: {}
          application/atom+xml:
            schema:
              type: object
              properties: {}
          application/font-woff:
            schema:
              type: object
              properties: {}
          application/gzip:
            schema:
              type: object
              properties: {}
          application/javascript:
            schema:
              type: object
              properties: {}
          application/octet-stream:
            schema:
              type: object
              properties: {}
          application/ogg:
            schema:
              type: object
              properties: {}
          application/pdf:
            schema:
              type: object
              properties: {}
          application/postscript:
            schema:
              type: object
              properties: {}
          application/soap+xml:
            schema:
              type: object
              properties: {}
          application/x-bittorrent:
            schema:
              type: object
              properties: {}
          application/x-tex:
            schema:
              type: object
              properties: {}
          application/xhtml+xml:
            schema:
              type: object
              properties: {}
          application/xml-dtd:
            schema:
              type: object
              properties: {}
          application/xop+xml:
            schema:
              type: object
              properties: {}
          application/zip:
            schema:
              type: object
              properties: {}
        description: ''
      description: Use this call to authenticate and receive a bearer token. Bearer token is valid for 59 minutes only and required on all API calls.
  /american/v1/family/transactions:
    post:
      summary: Transaction Processing
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                RequestId:
                  type: string
                  format: uuid
                  description: Identifier used by the caller to identify the request. Returned in response
                versionNum:
                  type: integer
                  default: 1
                  description: Reserved for future use
                webhookInfo:
                  type: string
                  description: Reserved for future use
                RequestType:
                  type: string
                  default: Sale
                  example: Sale
                  description: 'Sale,Authorize,Close Batch,Credit,Debit,Generate Token,Refund,Settle,Standalone Refund,Tip Adjust,Void'
                TransactionSource:
                  type: string
                  description: Source of the initial request
                  default: Deluxe API
                IpAddress:
                  type: string
                  description: Reserved for future use
                Amount:
                  type: object
                  description: 'Required for : Sale,Refund,TipAdjust,Debit(ACH),Credit(ACH)'
                  properties:
                    Amount:
                      type: integer
                      description: Amount of the transaction
                    Currency:
                      type: string
                      example: 'USD,CDN'
                      description: 'Currency, generally merchant specific'
                PaymentMethod:
                  description: 'Required for : Sale,.Authorization,Debit(ACH),Credit(ACH). PaymentMethod''s can only contain one form of payment (CreditCard,ACH,Token,Vault,Cryptogram)'
                  oneOf:
                    - properties:
                        CreditCard:
                          type: object
                          description: Cardholder creditcard information
                          properties:
                            ccNumber:
                              type: string
                            expMonthYear:
                              type: string
                            cvv:
                              type: string
                        BillingAddress:
                          type: object
                          description: Cardholder billing information (Can be used with all available PaymentMethods)
                          properties:
                            FirstName:
                              type: string
                            LastName:
                              type: string
                            Address:
                              type: string
                            Address2:
                              type: string
                            City:
                              type: string
                            State:
                              type: string
                            PostalCode:
                              type: string
                            Country:
                              type: string
                            Telephone:
                              type: string
                            EmailAddress:
                              type: string
                        AchInfo:
                          type: object
                          description: Cardholder ACH information
                          properties:
                            RoutingNumber:
                              type: string
                            AccountNumber:
                              type: string
                            AccountType:
                              type: string
                              example: 'C,S'
                            AchCategory:
                              type: string
                        Cryptogram:
                          type: string
                          description: Cryptogram sting can be used in place of Creditcard and ACH info when required.
                        VaultId:
                          type: string
                          description: VaultID that corresponds to cardholder data
                        VaultKey:
                          type: string
                          description: Reserved for future use (Required if using Vault as PaymentMethod).
                        CVV2:
                          type: string
                          description: CVV data (Required when using Vault or Token as PaymentMethod)
                        Token:
                          type: string
                          description: Token that corresponds to cardholder data previously stored.
                        ExpMonthYear:
                          type: string
                          description: Expiration month and year for token (Required if Token used in PamentMethod)
                  type: object
                TipAmount:
                  type: object
                  description: Required when submitting TipAdjust request type
                  properties:
                    Amount:
                      type: integer
                      example: 14
                    Currency:
                      type: string
                TransactionId:
                  type: string
                  format: uuid
                  description: 'This should be the TransactionId returned in the initial transaction request. Required for Refund,Void,Tip Adjust'
                ReccuringData:
                  type: object
                  description: Used to setup a recurring payment. Amount and PaymentMethod objects are required when setting up a recurring payment.
                  properties:
                    RecurringType:
                      type: string
                      example: Daily
                      description: 'Daily, Weekly, Biweekly, Monthly, Quarterly, Semiannually, Annually, Bimonthly, Triweekly'
                    RecurringStartDate:
                      type: string
                      format: date
                      description: Date the recurring payment will start
                    RecurringEndDate:
                      type: string
                      format: date
                      description: Date the recurring payment will end
                    RecurringScheduleDayDetail:
                      type: string
                      x-stoplight:
                        id: atektphqtgn5e
                      description: Indicates the day of week to process recurring transaction (Used only with Weekly/Monthly/Annual)
                    RecurringScheduleMonth:
                      type: integer
                      x-stoplight:
                        id: yg5ct810ildmn
                      description: Indicates the month to process the recurring transaction (Used only with Annually)
              required:
                - RequestId
                - versionNum
                - RequestType
                - TransactionSource
        description: ''
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: bearer aeb8907d-bf84-462a-afe0-ae996dda3ab9
          required: true
          description: This is the API authorization and is required on all API calls
        - name: ApplicationId
          in: header
          schema:
            type: string
            example: B5sz2SL6RhwJGUvZAKn7S7SeJQbvAckU
          example: 7775AD1E-AA25-4ED3-812F-21C966D97C26
          description: 'Reserved for future use, please use the default value'
          required: true
        - name: AccessToken
          in: header
          schema:
            type: string
          example: 7775AD1E-AA25-4ED3-812F-21C966D97C26
          required: true
          description: This is your merchant specific identifier when making API calls to the transaction processing endpoint.
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: 'Tue, 10 May 2022 16:47:34 GMT'
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    IsPartial: false
                    OrderId: '521818404607950883'
                    CustomerToken: null
                    RecurringId: null
                    Fee: null
                    Token: '1556778677451111'
                    TransactionRecordID: 61863
                    AmountApproved: 1
                    AuthResponse: '009129'
                    RequestId: 6a45c9cf-30a1-4850-850b-ca73f9dddeae
                    ErrorCode: 0
                    Errors: null
                    TransactionId: 6279f114-aeff-4e78-9bba-ec3bee044a03
                properties:
                  IsPartial:
                    type: boolean
                    description: Indicates if this was a partial payment
                  OrderId:
                    type: string
                    description: OrderId that was sent with the request
                  RecurringId:
                    type: string
                    description: RecurringId if recurring was setup at time of processing
                    nullable: true
                  AmountApproved:
                    type: integer
                    description: Amount approved by the appropriate card vendor
                  AuthResponse:
                    type: string
                    description: Authorization code
                  RequestId:
                    type: string
                    description: RequestID sent with initial request
                  ErrorCode:
                    type: integer
                    description: 'Indicates if the transaction was successful 0 = success, 1 = Decline/Error'
                  Errors:
                    type: array
                    description: List of errors encountered during processing
                    nullable: true
                    items: {}
                  TransactionId:
                    type: string
                    description: Transaction identifier
              example:
                IsPartial: false
                OrderId: '12345'
                AmountApproved: 10
                AuthResponse: '012345'
                RequestId: a85a8e6b-348b-4011-a1ec-1e78e9620788
                ErrorCode: 0
                TransactionId: 9d5a3e8b-2396-422f-a0a0-c8d187db0f23
  /american/v1/family/reports:
    post:
      summary: Report Processing
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                Example 1:
                  RequestId: '{{$guid}}'
                  VersionNum: 1
                  WebhookInfo: n/a
                  RequestType: Custom Report
                  TransactionSource: Deluxe API
                  ReportTitle: Journal - CC  - Approval Current Month
                  StartDate: 02/01/2023
                  EndDate: 02/01/2023
                  Page: 1
                  PageSize: 2
              properties:
                RequestId:
                  type: string
                  description: Identifier used by the caller to identify the request. Returned in response
                VersionNum:
                  type: integer
                  description: Reserved for future use
                WebhookInfo:
                  type: string
                  description: Reserved for future use
                RequestType:
                  type: string
                  description: Custom Report
                TransactionSource:
                  type: string
                  description: Source of the initial request
                ReportTitle:
                  type: string
                  description: Name of the report being run
                StartDate:
                  type: string
                  description: Start date for report request
                EndDate:
                  type: string
                  description: End date for report request
                Page:
                  type: integer
                  description: Used for report pagination if number of records return in result needs to be controlled.
                PageSize:
                  type: integer
                  description: Used for report pagination if number of records return in result needs to be controlled.
              required:
                - RequestId
                - VersionNum
                - WebhookInfo
                - RequestType
                - TransactionSource
                - ReportTitle
                - StartDate
                - EndDate
        description: ''
      parameters:
        - schema:
            type: string
          in: header
          name: Authorization
          description: This is the API authorization and is required on all API calls
          required: true
        - schema:
            type: string
          in: header
          name: ApplicationId
          description: Reserved for future use
          required: true
        - schema:
            type: string
          in: header
          name: AccessToken
          description: This is your merchant specific identifier when making API calls to the transaction processing endpoint.
          required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    ErrorCode: 0
                    Data:
                      - Submission Type: VirtualTerminal
                        Date: 02/01/2023
                        Merchant ID: '6280780007557770'
                        DBA Name: IATS ZENTRO
                        Card Type: VISA
                        Cardholder Name: Deluxe Plugin
                        Cardholder Address: 101 West Main St.
                        Cardholder City: Plano
                        Cardholder State: IL
                        Cardholder Country: US
                        Cardholder Zip: '60545'
                        Cardholder Phone: '1234567890'
                        Cardholder email: jsmith@mail.com
                        'Card #': 411111******1111
                        'Trans info: Processing Fee': $0.00
                        Exp date: 01/24
                        Total: $2.14
                        Apvl Code: '003944'
                        Currency: USD
                        Payment ID: b975d70e-70d4-4b7d-a917-872beec89fd3
                        Vault ID: null
                        Recurring ID: null
                      - Submission Type: VirtualTerminal
                        Date: 02/01/2023
                        Merchant ID: '6280780007557770'
                        DBA Name: IATS ZENTRO
                        Card Type: VISA
                        Cardholder Name: Deluxe Plugin
                        Cardholder Address: 101 West Main St.
                        Cardholder City: Plano
                        Cardholder State: IL
                        Cardholder Country: US
                        Cardholder Zip: '60545'
                        Cardholder Phone: '1234567890'
                        Cardholder email: jsmith@mail.com
                        'Card #': 411111******1111
                        'Trans info: Processing Fee': $0.00
                        Exp date: 01/24
                        Total: $2.14
                        Apvl Code: '003944'
                        Currency: USD
                        Payment ID: b975d70e-70d4-4b7d-a917-872beec89fd3
                        Vault ID: null
                        Recurring ID: null
              example:
                ErrorCode: 0
                Data:
                  - Merchant ID: 5IAU
                    DBA name: IATS ZENTRO
                    '# Sales': 8
                    '# Refunds': 2
                    '# Rejects (bank)': 2
                    '# Rejects (internal)': 2
                    '# Batches': 0
      description: The reporting endpoint is used to get transaction information based on specific search criteria.
  /american/v1/family/vault:
    post:
      summary: Vault / Customer Processing
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                Example 1:
                  VersionNum: 5
                  WebhookInfo: string
                  TransactionSource: Deluxe API
                  ApplicationID: '123'
                  Requestid: '{{$guid}}'
                  vaultJson:
                    customer:
                      firstName: Andrey
                      lastName: Bee
                      address: 76 Bad Boy Street
                      phone: 800-456-1789
                      email: test.test@first-american.net
                    paymentMethod:
                      cardNumber: '4111111111111111'
                      exp: '1030'
                      accNickName: Test Card
              properties:
                VersionNum:
                  type: integer
                  description: Reserved for future use
                  default: 1
                WebhookInfo:
                  type: string
                  description: Reserved for future use
                  default: N/A
                TransactionSource:
                  type: string
                  description: Request being processed from
                  default: Deluxe API
                Requestid:
                  type: string
                  format: uuid
                  description: Identifier used by the caller to identify the request. Returned in response
                vaultJson:
                  type: object
                  description: JSON object containing customer and vault specific data
                  properties:
                    customer:
                      type: object
                      properties:
                        firstName:
                          type: string
                          description: Cardholder first name
                        lastName:
                          type: string
                          description: Cardholder last name
                        address:
                          type: string
                          description: Cardholder address
                        phone:
                          type: string
                          description: Cardholder phone
                        email:
                          type: string
                          description: Cardholder email address
                    paymentMethod:
                      type: object
                      properties:
                        accountType:
                          type: string
                          description: Indicator if ACH account is checking or savings. (C or S)
                        routingNumber:
                          type: string
                          description: Routing/Transit number
                        accountNumber:
                          type: string
                          description: ACH Account number
                    Recurring:
                      type: object
                      description: Optional
                      properties:
                        RecurringStartDate:
                          type: string
                          format: date
                          description: Date recurring will start
                        RecurringEndDate:
                          type: string
                          format: date
                          description: Date recurring will end
                        RecurringType:
                          type: string
                          description: 'Recurring type (Daily,Weekly,Monthly,Annually)'
                        Amount:
                          type: integer
                          description: Amount of the recurring transaction
                        RecurringScheduleDayDetail:
                          type: string
                          description: Indicates the day of week to process the recurring transaction (Used only with Weekly/Monthly/Annually)
                        RecurringScheduleMonth:
                          type: integer
                          description: Indicates the month to process the recurring transaction (Used only with Annually)
              required:
                - TransactionSource
                - Requestid
      parameters:
        - name: ms2-authorization
          in: header
          schema:
            type: string
          example: bearer aeb8907d-bf84-462a-afe0-ae996dda3ab9
          required: true
          description: This is the API authorization and is required on all API calls
        - name: ApplicationId
          in: header
          schema:
            type: string
          example: 7775AD1E-AA25-4ED3-812F-21C966D97C26
          description: Reserved for future use
          required: true
        - name: AccessToken
          in: header
          schema:
            type: string
          example: 7775AD1E-AA25-4ED3-812F-21C966D97C26
          required: true
          description: This is your merchant specific identifier when making API calls to the transaction processing endpoint.
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    ErrorCode: 0
                    Data:
                      errorCode: 0
                      response:
                        - target: Customer
                          id: '10881'
                          status: 1
                        - target: Vault
                          id: 56142bcf-c83a-486a-808d-553a5fd41ae5
                          status: 1
                        - target: Recurring
                          id: ''
                          status: 0
                properties:
                  ErrorCode:
                    type: integer
                    description: 'Indicates if the overall request was processed sucessfully. 0 = success, 1 = not successful'
                  Data:
                    type: object
                    properties:
                      errorCode:
                        type: integer
                      response:
                        type: array
                        items:
                          type: object
                          properties:
                            target:
                              type: string
                              description: 'Specific operation being updated (Customer,Vault,Recurring)'
                            id:
                              type: string
                              description: Unique identifier for the corresponding target
                            status:
                              type: integer
                              description: 'Indicates if the specific target update was successful. 1 = success, 0 = not success'
    patch:
      summary: Vault / Customer Processing
      parameters:
        - name: ms2-authorization
          in: header
          schema:
            type: string
          example: bearer aeb8907d-bf84-462a-afe0-ae996dda3ab9
          required: true
          description: This is the API authorization and is required on all API calls
        - name: ApplicationId
          in: header
          schema:
            type: string
          example: 7775AD1E-AA25-4ED3-812F-21C966D97C26
          description: Reserved for future use
        - name: AccessToken
          in: header
          schema:
            type: string
          example: 7775AD1E-AA25-4ED3-812F-21C966D97C26
          required: true
          description: This is your merchant specific identifier when making API calls to the transaction processing endpoint.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                Example 1:
                  VersionNum: 5
                  WebhookInfo: string
                  TransactionSource: Deluxe API
                  ApplicationID: '123'
                  Requestid: '{{$guid}}'
                  vaultJson:
                    customer:
                      firstName: Andrey
                      lastName: Bee
                      address: 76 Bad Boy Street
                      phone: 800-456-1789
                      email: test.test@first-american.net
                    paymentMethod:
                      cardNumber: '4111111111111111'
                      exp: '1030'
                      accNickName: Test Card
              properties:
                VersionNum:
                  type: integer
                  description: Reserved for future use
                  default: 1
                WebhookInfo:
                  type: string
                  description: Reserved for future use
                  default: N/A
                TransactionSource:
                  type: string
                  description: Request being processed from
                  default: Deluxe API
                Requestid:
                  type: string
                  format: uuid
                  description: Identifier used by the caller to identify the request. Returned in response
                vaultJson:
                  type: object
                  description: JSON object containing customer and vault specific data
                  properties:
                    customer:
                      type: object
                      properties:
                        customerId:
                          type: integer
                        firstName:
                          type: string
                          description: Cardholder first name
                        lastName:
                          type: string
                          description: Cardholder last name
                        address:
                          type: string
                          description: Cardholder address
                        phone:
                          type: string
                          description: Cardholder phone
                        email:
                          typ

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deluxe/refs/heads/main/openapi/deluxe-postman-sandbox-openapi.yml