Denim Payees API

A payee is your contractor or carrier. They are the entity that needs to be paid for services. Payees are a type of Company in our ecosystem and are associated to our shared client through Client-Payee Relationships.

OpenAPI Specification

denim-payees-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: engineering@denim.com
    name: Denim Engineering Team
    url: https://www.denim.com
  description: The Denim Public API can be used by 3rd parties to sync companies, debtor relationships, payee relationships, and create invoices within Denim's payment platform. This enables streamlined operations and job invoice data between transportation management systems and Denim.
  title: Denim Public API Reference Documentation Companies Payees API
  version: 1.0.0
  x-logo:
    altText: Denim
    backgroundColor: '#f5f5f5'
    url: https://app.denim.com/images/branding/denim-logo-color.png
servers:
- description: Staging Environment
  url: https://staging.denim.com
  variables: {}
security:
- api_key: []
tags:
- description: A payee is your contractor or carrier. They are the entity that needs to be paid for services. Payees are a type of Company in our ecosystem and are associated to our shared client through Client-Payee Relationships.
  externalDocs:
    description: 'Guides: Companies'
    url: https://help.denim.com/hc/en-us/articles/9403899854107-4-Mapping-and-Syncing-Companies
  name: Payees
paths:
  /api/v1/payee-relationships:
    get:
      callbacks: {}
      description: This retrieves the payees that your company has a relationship with.
      externalDocs:
        description: 'API Integration Guides: Mapping and Syncing Companies'
        url: https://help.denim.com/hc/en-us/articles/9403899854107-4-Mapping-and-Syncing-Companies
      operationId: AxlePayWeb.Api.V1.ClientPayeeRelationshipController.index (2)
      parameters:
      - description: Search string for payee company name or MC Number.
        example: Best Carrier LLC
        in: query
        name: query
        required: false
        schema:
          type: string
      - description: "Payee Relationship Filters.\n\n- status\n- days to pay offset\n- quick pay rate\n    - Note: `quick_pay_rate` is in basis points (ex: 100 bps == %1.00)\",\n"
        example:
          days_to_pay_offset: 5
          quick_pay_rate: 100
          status: pending
        in: query
        name: filters
        required: false
        schema:
          description: Available filters for fetching Payees
          example:
            status: pending
          properties:
            days_to_pay_offset:
              description: Payee relationship days to pay offset
              type: integer
            has_elected_payment_terms:
              description: Filter by whether the payee has elected payment terms
              type: boolean
            quick_pay_rate:
              description: 'Payee relationship quick pay rate, stored in basis points (ex: 100 bps == %1.00)'
              type: integer
            status:
              description: Payee relationship status
              enum:
              - pending
              - approved
              - rejected
              type: string
          title: Payee Relationship Filters
          type: object
      - description: Filter for payee payment setting types
        in: query
        name: payment_types_filter
        required: false
        schema:
          items:
            enum:
            - ach
            - check
            - missing
            type: string
          type: array
      - description: The page of results to query.
        example: 1
        in: query
        name: page
        required: false
        schema:
          type: integer
      - description: The number of entities per page of results.
        example: 10
        in: query
        name: per_page
        required: false
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payee Index Response'
          description: Payee relationship response
      security:
      - api_key: []
      summary: List Client-Payee Relationships
      tags:
      - Payees
    post:
      callbacks: {}
      description: 'Creates a Client-Payee Relationship. Read the guide below for details. There are several different ways to create payees, whether it includes a factor assignment, etc. Important note: all factor assignments or updates create ''Requests'' in our Request Center and these are all reviewed and approved by our operations team before becoming effective. This review is to ensure the proper payees receive payments and don''t impact other payee setups.

        '
      externalDocs:
        description: 'API Integration Guides: Mapping and Syncing Companies'
        url: https://help.denim.com/hc/en-us/articles/9403899854107-4-Mapping-and-Syncing-Companies
      operationId: AxlePayWeb.Api.V1.ClientPayeeRelationshipController.create (2)
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              add_new_payee_example_without_factor:
                description: Invite a new payee (without a factor)
                summary: Add a new payee without a factor
                value:
                  client_payee_relationship:
                    contact_email: tom@tomslogistics.com
                    contact_first_name: Tom
                    contact_last_name: Brogan
                    contact_phone_number: 1 123 123 3434
                    days_to_pay_offset: 4
                  company:
                    city: New York
                    company_name: New Carrier LLC
                    country: USA
                    ein: '123456789'
                    mc_number: '12345678'
                    state: NY
                    website: www.newcompany.com
              add_new_payee_with_factor_example:
                description: Invite a new payee with a factor
                summary: Add a new payee with a pre-existing factor
                value:
                  company:
                    city: New York
                    company_name: New Carrrier LLC
                    country: USA
                    ein: '123456789'
                    mc_number: '12345678'
                    state: NY
                    website: www.newcompany.com
                  payee:
                    days_to_pay_offset: 3
                    factor_company_id: 34
              add_new_payee_with_new_factor_example:
                description: Invite a new payee with a new factor not in the system
                summary: Add a new payee with a new factor
                value:
                  company:
                    city: New York
                    company_name: New Carrrier LLC
                    country: USA
                    ein: '123456789'
                    mc_number: '12345678'
                    state: NY
                    website: www.newcompany.com
                  payee:
                    days_to_pay_offset: 3
                    factor_company_id: 0
              existing_payee_example_without_factor:
                description: Add a relationship with an existing payee direct (without a factor)
                summary: Link existing payee without a factor
                value:
                  client_payee_relationship:
                    contact_email: tom@tomslogistics.com
                    contact_first_name: Tom
                    contact_last_name: Brogan
                    contact_phone_number: 1 123 123 3434
                    days_to_pay_offset: 4
                  company_id: 123
              existing_payee_with_factor_example:
                description: Add a relationship with an existing payee with factoring relationship already setup
                summary: Link existing payee with a pre-existing factor relationship
                value:
                  company_id: 123
              existing_payee_with_new_factor_example:
                description: Add a relationship with an existing payee and set a new factor not in the system. New factor requests are reviewed by our operations team.
                summary: Link existing payee and set a new factor
                value:
                  company_id: 123
                  payee:
                    days_to_pay_offset: 4
                    factor_company_id: 0
            schema:
              $ref: '#/components/schemas/Payee Create'
        description: Creating a payee relationship params
        required: false
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payee Create Response'
          description: Payee relationship created response
      security:
      - api_key: []
      summary: Create a Client-Payee Relationship
      tags:
      - Payees
  /api/v1/payee-relationships/{client_payee_relationship_id}/update-assign-factor:
    post:
      callbacks: {}
      description: Creates a request to change the factor assigned to the payee. These changes are reviewed by our operations team and the original factor will still be referenced until this request is reviewed and approved.
      operationId: AxlePayWeb.Api.V1.ClientPayeeRelationshipController.update_assign_factor (2)
      parameters:
      - description: client_payee_relationship_id
        example: 543
        in: path
        name: id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            examples:
              update_with_existing_factor_example:
                description: Assign an existing factor to an existing payee relationship
                summary: Update with existing assigned factor
                value:
                  payee:
                    factor_company_id: 34
              update_with_new_factor_example:
                description: Assign a new factor to an existing payee relationship
                summary: Update with new assigned factor
                value:
                  payee:
                    factor_company_id: 0
            schema:
              $ref: '#/components/schemas/Update or set assigned factor on an existing payee relationship'
        description: Update or set the assigned factor on an existing payee relationship
        required: false
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payee Create Response'
          description: Update payee relationship assigned factor
      security:
      - api_key: []
      summary: Update a payee's assigned factor
      tags:
      - Payees
components:
  schemas:
    Update or set assigned factor on an existing payee relationship:
      description: Allows setting or changing the assigned factor on an existing payee relationship.
      example:
        payee:
          factor_company_id: 34
      properties:
        payee:
          $ref: '#/components/schemas/Payee Factor Company'
      required:
      - payee
      title: Update or set assigned factor on an existing payee relationship
      type: object
    Payee Index Response:
      description: Response schema for fetching payee relationships
      example:
        data:
        - client_payee_relationship:
            contact_email: tsmith@gmail.com
            contact_first_name: Thomas
            contact_last_name: Smith
            contact_phone_number: +1 (234) 234 - 5344
            id: 74
            payment_setting:
              account_name: Joe's Factoring LLC
              account_number: X8508
              address_line_1: null
              address_line_2: null
              city: null
              country: null
              method: ach
              state: null
              to_factor: true
              zip_code: null
            status: pending
          company:
            city: Atlanta
            company_name: Best Trucking Company
            ein: '123456789'
            id: 35
            mc_number: '12345678'
            state: GA
            status: active
            website: www.besttrucking.com
          payee:
            factor_company_name: Joe's Factoring LLC
            id: 25
        - client_payee_relationship:
            contact_email: boydj@gmail.com
            contact_first_name: Boyd
            contact_last_name: Johnson
            contact_phone_number: +1 (675) 544 - 8526
            id: 544
            payment_setting:
              account_name: Boyds Logistics
              account_number: X8534
              address_line_1: null
              address_line_2: null
              city: null
              country: null
              method: ach
              state: null
              to_factor: false
              zip_code: null
            status: pending
          company:
            city: Chicago
            company_name: Boyds Logistics
            ein: '123456789'
            id: 35
            mc_number: '12345678'
            state: IL
            status: active
            website: null
          payee:
            factor_company_name: ''
            id: 99
        page: 1
        per_page: 2
        total_pages: 3
        total_results: 2
      properties:
        data:
          items:
            properties:
              client_payee_relationship:
                $ref: '#/components/schemas/Client-Payee Relationship'
              company:
                $ref: '#/components/schemas/Payee Company'
              payee:
                $ref: '#/components/schemas/Payee'
            type: object
          type: array
        page:
          description: Current page of results
          type: integer
        per_page:
          description: Entities per page
          type: integer
        total_pages:
          description: Total number of pages
          type: integer
        total_results:
          description: Total number of results
          type: integer
      title: Payee Index Response
      type: object
    Payee Create Response:
      description: Response schema for creating a new payee relationship
      example:
        data:
          client_payee_relationship:
            contact_email: boydj@gmail.com
            contact_first_name: Boyd
            contact_last_name: Johnson
            contact_phone_number: +1 (675) 544 - 8526
            id: 544
            payment_setting: null
            status: pending
          company:
            city: New York
            company_name: Best Trucking Company
            ein: '123456789'
            id: 74
            mc_number: '12345678'
            progress: initial
            state: NY
            status: under_review
            website: www.besttrucking.com
          payee:
            factor_company_name: ''
            id: 25
      properties:
        data:
          properties:
            client_payee_relationship:
              $ref: '#/components/schemas/Client-Payee Relationship'
            company:
              $ref: '#/components/schemas/Payee Company'
            payee:
              $ref: '#/components/schemas/Payee'
          type: object
      title: Payee Create Response
      type: object
    Client-Payee Relationship:
      description: Included only if there is an existing non-deleted Client-Payee Relationship for the requesting client.
      properties:
        contact_email:
          description: Contact email at the payee company.
          type: string
        days_to_pay_offset:
          description: Per-relationship offset (in days) added to the payee's standard pay terms.
          nullable: true
          type: integer
        id:
          description: usable as `client_payee_relationship_id`
          type: integer
      title: Client-Payee Relationship
      type: object
    Payee:
      description: Payee Company Information
      properties:
        factor_company_name:
          description: Name of the payee's factoring company, if they have one
          type: string
        id:
          description: Payee ID
          type: integer
      title: Payee
      type: object
    Payee Create:
      description: Use the company search API to find an existing company or send the `company` parameters to create a new company. Either 'payee' (when the payee has factor) or 'client_payee_relationship' (no factor) required when creating payee relationship.
      example:
        client_payee_relationship:
          contact_email: tom@tomslogistics.com
          contact_first_name: Tom
          contact_last_name: Brogan
          contact_phone_number: '11231233434'
          payment_setting:
            account_name: New Customer LLC
            account_number: X8508
            address_line_1: null
            address_line_2: null
            city: null
            country: null
            method: ach
            state: null
            to_factor: false
            zip_code: null
        company:
          city: New York
          company_name: New Customer LLC
          ein: '123456789'
          mc_number: null
          state: NY
          website: www.newcompany.com
      properties:
        client_payee_relationship:
          $ref: '#/components/schemas/Client-Payee Relationship'
        company:
          $ref: '#/components/schemas/Payee Company'
        company_id:
          description: Company ID. Either 'company_id' (existing company) or 'company' (new company) required when creating payee relationship.
          type: integer
        payee:
          $ref: '#/components/schemas/Payee Factor Company'
      title: Payee Create
      type: object
    Payee Factor Company:
      description: Set the assigned factor for the payee.
      properties:
        factor_company_id:
          description: Factor company ID. Can be found using the Search Companies endpoint or use '0' for new a factor.
          type: integer
      title: Payee Factor Company
      type: object
    Payee Company:
      description: A payee company
      properties:
        city:
          description: City
          type: string
        company_name:
          description: Payee company name
          type: string
        country:
          default: USA
          description: Country (3 Character Abbreviation)
          enum:
          - USA
          - CAN
          type: string
        ein:
          description: Federal EIN / Tax ID (9 digits)
          nullable: true
          type: string
        id:
          description: Company ID
          type: integer
        mc_number:
          description: FMCSA Motor Carrier Number (6-8 digits)
          nullable: true
          type: string
        progess:
          description: Payee setup progress
          enum:
          - initial
          - setup_started
          - onboarding_started
          - done
          type: string
        state:
          description: State (2 Character Abbreviation)
          type: string
        status:
          description: Payee status
          enum:
          - under_review
          - active
          type: string
      required:
      - company_name
      title: Payee Company
      type: object
  securitySchemes:
    api_key:
      in: header
      name: x-api-key
      type: apiKey
externalDocs:
  description: API Integration Guides
  url: https://help.denim.com/hc/en-us/sections/9403805442843-API-Integration-Guides