API Data Provider - Online Help

Connecting to Deel

To authenticate to Deel, you can use API Key (Bearer Token) authentication.

Using APIKey Authentication

You can authenticate using a Deel API Key. Create an API key in your Deel account settings under Settings > API or Developer Settings. Make sure to grant appropriate permissions based on the data you need to access (e.g., read access for invoices, timesheets, contracts, workers, etc.).

After creating your API Key, set the following connection properties:

  • AuthScheme: Set this to APIKey.
  • APIKey: Set this to your Deel API Key (Bearer token).

Example APIKey connection string

Profile=C:\profiles\Deel.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_deel_api_key';

Usage Examples

Invoices and Payments

Invoices: Query contractor invoices with payment status and filtering
SELECT * FROM Invoices WHERE Status = 'paid'
SELECT Id, Label, Total, Currency, PaidAt FROM Invoices WHERE InvoiceId = 'inv_123'
SELECT * FROM Invoices WHERE Status IN ('pending', 'processing') AND IssuedAt >= '2025-01-01'
DeelInvoices: Retrieve Deel platform service invoices
SELECT * FROM DeelInvoices WHERE Status = 'paid'
SELECT Id, Label, Total, Currency, CreatedAt FROM DeelInvoices
InvoiceDownloadLink: Get temporary download URLs for invoice PDFs
SELECT Url, ExpiresAt FROM InvoiceDownloadLink WHERE InvoiceId = 'inv_123'
PaymentReceipts: Query completed payment transactions
SELECT * FROM PaymentReceipts WHERE PaidAt >= '2025-01-01' AND Status = 'paid'
SELECT Id, Label, PaidAt, PaymentCurrency FROM PaymentReceipts WHERE Entities = 'individual'
PaymentBreakdown: Get itemized payment details with all components
SELECT * FROM PaymentBreakdown WHERE PaymentId = 'pay_123'
SELECT Work, Bonus, Overtime, Deductions, Total FROM PaymentBreakdown WHERE PaymentId = 'pay_123'

Adjustments

Adjustments: Query payment adjustments by status
SELECT * FROM Adjustments WHERE Id = 'adj_123'
SELECT * FROM Adjustments WHERE Status = 'approved'
SELECT Id, Title, Amount, Status, Description FROM Adjustments WHERE AdjustmentCategoryId = 'cat_123'
AdjustmentCategories: List available adjustment categories
SELECT * FROM AdjustmentCategories
InvoiceAdjustments: Query adjustments across all invoices
SELECT * FROM InvoiceAdjustments WHERE Status = 'approved'
SELECT * FROM InvoiceAdjustments WHERE Type = 'expense' AND InvoiceId = 123
ContractAdjustments: Query adjustments for a specific contract
SELECT * FROM ContractAdjustments WHERE ContractId = 'contract_123'
SELECT * FROM ContractAdjustments WHERE ContractId = 'contract_123' AND Status = 'approved'
ContractInvoiceAdjustments: Get all invoice adjustments for a contract
SELECT * FROM ContractInvoiceAdjustments WHERE ContractId = 'contract_123'
SELECT * FROM ContractInvoiceAdjustments WHERE ContractId = 'contract_123' AND Status = 'paid'

Timesheets and Time Tracking

Timesheets: Query contractor timesheet submissions
SELECT * FROM Timesheets WHERE DateSubmitted >= '2025-01-01'
SELECT * FROM Timesheets WHERE Status = 'pending' AND ContractId = 'contract_123'
SELECT Id, Quantity, Status, TotalAmount, DateSubmitted FROM Timesheets WHERE Statuses = 'approved'
TimeTrackingTimesheets: Access time tracking records with approval workflow
SELECT * FROM TimeTrackingTimesheets WHERE TimesheetId = 'ts_123'
SELECT StartDate, EndDate, SubmissionStatus, ReviewStatus FROM TimeTrackingTimesheets WHERE TimesheetId = 'ts_123'

People and HRIS

People: Query HRIS people records (workers, employees, contractors)
SELECT * FROM People WHERE HiringType = 'employee'
SELECT * FROM People WHERE IsCustomFieldsIncluded = true
SELECT WorkerId, FullName, Email, HiringType, HiringStatus FROM People WHERE HiringStatus = 'active'
MyProfile: Get current authenticated user's profile
SELECT * FROM MyProfile
Managers: List all manager profiles in organization
SELECT * FROM Managers
SELECT Id, FirstName, LastName, Email FROM Managers
Groups: Query organizational groups and teams
SELECT * FROM Groups
SELECT Id, Name, Description FROM Groups
WorkerRelations: View organizational hierarchy and reporting relationships
SELECT * FROM WorkerRelations WHERE HrisProfileOid = 'profile_123'

Custom Fields

CustomFields: Query organization-level custom field definitions
SELECT * FROM CustomFields
SELECT Id, Name, Type, IsActive FROM CustomFields WHERE IsActive = true
PeopleCustomFieldDefinitions: Get custom field schemas for people records
SELECT * FROM PeopleCustomFieldDefinitions WHERE HrisProfileOid = 'profile_123'
PersonCustomFields: Retrieve custom field values for a specific person
SELECT * FROM PersonCustomFields WHERE HrisProfileOid = 'profile_123'
ContractCustomFields: Access custom fields for contracts
SELECT * FROM ContractCustomFields WHERE ContractId = 'contract_123'

EOR (Employer of Record)

EorContractDetails: Query EOR contract terms and compensation
SELECT * FROM EorContractDetails WHERE ContractId = 'contract_123'
SELECT Salary, Currency, JobTitle, Country FROM EorContractDetails WHERE ContractId = 'contract_123'
EorBenefits: List benefits for EOR contracts
SELECT * FROM EorBenefits WHERE ContractId = 'contract_123'
EorJobScopes: Get job scope and responsibilities
SELECT * FROM EorJobScopes WHERE ContractId = 'contract_123'
EorContractDocuments: Access contract documentation and agreements
SELECT * FROM EorContractDocuments WHERE ContractId = 'contract_123'
EorWorkerAdditionalFields: Query additional EOR worker information
SELECT * FROM EorWorkerAdditionalFields WHERE ContractId = 'contract_123'
EorAmendments: View contract amendments and modifications
SELECT * FROM EorAmendments WHERE ContractId = 'contract_123'
SELECT * FROM EorAmendments WHERE ContractId = 'contract_123' AND Status = 'approved'

Contract Management

ContractAmendments: Query contract change requests and amendments
SELECT * FROM ContractAmendments WHERE ContractId = 'contract_123'
SELECT * FROM ContractAmendments WHERE ContractId = 'contract_123' AND Status = 'approved'
ContractTasks: Access contract-specific tasks and milestones
SELECT * FROM ContractTasks WHERE ContractId = 'contract_123'
SELECT * FROM ContractTasks WHERE ContractId = 'contract_123' AND Status = 'approved'

Worker Records

WorkerPayslips: Retrieve employee payslip records
SELECT * FROM WorkerPayslips WHERE HrisProfileOid = 'profile_123'
WorkerTaxDocuments: Access tax forms and compliance documents
SELECT * FROM WorkerTaxDocuments
SELECT Id, Type, Year, Country, Url FROM WorkerTaxDocuments WHERE Year = 2024
WorkerResignations: Query worker resignation records and offboarding
SELECT * FROM WorkerResignations WHERE HrisProfileOid = 'profile_123'

IT Assets and Equipment

ItAssets: Query IT hardware inventory
SELECT * FROM ItAssets
SELECT Name, Type, Condition, SerialNumber, AssignedTo FROM ItAssets WHERE Type = 'laptop'
ItOrders: View IT equipment orders and fulfillment status
SELECT * FROM ItOrders WHERE ContractId = 'contract_123'

Administrative

CostCenters: List cost centers for expense allocation
SELECT * FROM CostCenters
SELECT Id, Name, Description FROM CostCenters
HrisPositions: Query job positions and organizational roles
SELECT * FROM HrisPositions WHERE HrisProfileOid = 'profile_123'
OnboardingTrackers: Monitor onboarding progress for new workers
SELECT * FROM OnboardingTrackers WHERE HrisProfileOid = 'profile_123'

System Tables

Sys_Indexes: Query table index metadata
SELECT * FROM Sys_Indexes WHERE TableName = 'Invoices'
SELECT IndexName, ColumnName, IsPrimary, IsUnique FROM Sys_Indexes WHERE TableName = 'People'

API Documentation

For more information about the Deel API, see the official Deel API documentation.

Data Source Capabilities

The Deel API Profile supports querying various Deel resources including:

  • Invoices and Payments: Contractor invoices, platform invoices, payment receipts, payment breakdowns
  • Timesheets: Contractor timesheets, time tracking records, approval workflows
  • Adjustments: Bonuses, deductions, expenses, reimbursements with categorization
  • People and HRIS: Worker records, employees, contractors, organizational hierarchy, custom fields
  • EOR Contracts: Contract details, benefits, job scopes, documents, amendments
  • IT Assets: Equipment inventory, orders, assignments
  • Worker Management: Payslips, tax documents, resignations, relations
  • Administration: Cost centers, positions, onboarding tracking
  • Custom Fields: Organization-specific data extensions

Common Query Patterns

Date Range Filtering:
SELECT * FROM Timesheets WHERE DateSubmitted BETWEEN '2025-01-01' AND '2025-01-31'
SELECT * FROM PaymentReceipts WHERE PaidAt >= '2025-01-01'
Status Filtering:
SELECT * FROM Invoices WHERE Status IN ('pending', 'processing', 'paid')
SELECT * FROM Adjustments WHERE Status = 'approved'
Contract-Specific Queries:
SELECT * FROM ContractAdjustments WHERE ContractId = 'contract_123'
SELECT * FROM EorContractDetails WHERE ContractId = 'contract_123'
SELECT * FROM ContractTasks WHERE ContractId = 'contract_123' AND Status = 'completed'
Worker-Specific Queries:
SELECT * FROM People WHERE Id = 'worker_123'
SELECT * FROM WorkerPayslips WHERE HrisProfileOid = 'profile_123'
SELECT * FROM PersonCustomFields WHERE HrisProfileOid = 'profile_123'

Connection Properties

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.


Property Description
APIKey The API Key or Bearer Token for authenticating with the Deel API.
AuthScheme The scheme used for authentication. Accepted entries are APIKey or None.
Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9655.0