---
title: "Creates PDF cost estimation of employments"
method: POST
path: "/v1/cost-calculator/estimation-pdf"
tags: ["Cost Calculator"]
---

# Creates PDF cost estimation of employments

`POST /v1/cost-calculator/estimation-pdf`

## Request

- Base URL: `https://gateway.remote.com`
- URL: `https://gateway.remote.com/v1/cost-calculator/estimation-pdf`
- Auth: one of:
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token`
  - HTTP bearer
  - HTTP bearer

Creates a PDF cost estimation of employments based on the provided parameters.

## Authentication

This endpoint accepts any one of the following token types:

- **Company-scoped access token** (`OAuth2AuthorizationCode`) — obtained through the Authorization Code flow or the Refresh Token flow, acting as the user who authorized it. See [Authentication for partners](https://developer.remote.com/docs/authentication-for-partners).
- **Company-scoped access token (assertion)** (`OAuth2CompanyManagerAssertion`) — obtained through the `urn:ietf:params:oauth:grant-type:jwt-bearer` grant for a company manager. See [OAuth Assertion](https://developer.remote.com/docs/authorization-method-oauth-assertion).
- **Client credentials access token** (`OAuth2ClientCredentials`) — obtained through the Client Credentials flow or the Refresh Token flow. See [Authentication for partners](https://developer.remote.com/docs/authentication-for-partners).
- **Employee-scoped access token** (`OAuth2Assertion`) — obtained through the `urn:ietf:params:oauth:grant-type:jwt-bearer` grant. See [OAuth Assertion](https://developer.remote.com/docs/authorization-method-oauth-assertion).
- **Customer API token** (`CustomerAPIToken`) — generated by the customer on their Integration Settings page, with the scopes they choose there. See [Authorization for customers](https://developer.remote.com/docs/authorization-for-customers).
- **Client token** (`ClientToken`) — a partner `client_token`, accepted only on the endpoints that list it. See [Authentication for partners](https://developer.remote.com/docs/authentication-for-partners).

## Request body

- CostCalculatorEstimateParams: Parameters for generating a cost estimate for one or more employments across different countries/regions.
  - `company_name` string: The company name, used for labeling in PDF/CSV exports.
  - `employer_currency_slug` string, required: The ISO 4217 currency code for the employer's preferred currency (e.g., "USD"). All costs will be converted to this currency.
  - `employments` CostCalculatorEmploymentParam[], required: One or more employments to estimate costs for.
    - `age` integer: The employee's age. Used in some countries to calculate age-dependent benefits or contributions.
    - `annual_gross_salary` integer: The annual gross salary in the region's local currency, in cents. Provide this OR `annual_total_cost`, not both.
    - `annual_gross_salary_in_employer_currency` integer: The annual gross salary in the employer's preferred currency, in cents. Used when you want to specify salary in a different currency than the region's.
    - `annual_total_cost` integer: The target total annual cost (salary + all employer costs) in the region's local currency, in cents. The calculator will derive the gross salary. Provide this OR `annual_gross_salary`, not both.
    - `annual_total_cost_in_employer_currency` integer: The target total annual cost in the employer's preferred currency, in cents.
    - `benefits` CostCalculatorBenefitParam[]: Specific benefit selections to include in the estimate.
      - `benefit_group_slug` string, required: The unique identifier (slug) of the benefit group to include in the estimate.
      - `benefit_tier_slug` string, required: The unique identifier (slug) of the benefit tier within the group. Determines the level of coverage and cost.
    - `discount` CostCalculatorDiscount: Configuration for applying a discount to a cost estimate. Provide either an `amount` or `percent` — not both.
      - `amount` integer: The fixed discount amount in cents. Mutually exclusive with `percent`.
      - `months` integer: The number of months the discount applies to (1-12). Defaults to 12.
      - `percent` number: The discount as a decimal fraction (e.g., 0.1 for 10%). Mutually exclusive with `amount`.
      - `quoted_amount` integer: The originally quoted amount before discount, in cents.
      - `text` string, required: A human-readable label for the discount (e.g., "10% Discount").
    - `employment_term` 'fixed' | 'indefinite'
    - `region_slug` string, required: The unique identifier (slug) of the region/country for this employment. Required.
    - `regional_to_employer_exchange_rate` string: A custom exchange rate from the regional currency to the employer currency. If not provided, the current market rate is used.
    - `title` string: An optional label for this employment in the estimate (e.g., the job title or role name).
  - `global_discount` CostCalculatorDiscount: Configuration for applying a discount to a cost estimate. Provide either an `amount` or `percent` — not both.
    - `amount` integer: The fixed discount amount in cents. Mutually exclusive with `percent`.
    - `months` integer: The number of months the discount applies to (1-12). Defaults to 12.
    - `percent` number: The discount as a decimal fraction (e.g., 0.1 for 10%). Mutually exclusive with `amount`.
    - `quoted_amount` integer: The originally quoted amount before discount, in cents.
    - `text` string, required: A human-readable label for the discount (e.g., "10% Discount").
  - `include_benefits` boolean: Whether to include benefit costs in the estimate. Defaults to false if not provided.
  - `include_cost_breakdowns` boolean: Whether to include detailed cost breakdowns (individual contributions, benefits, etc.) in the response.
  - `include_management_fee` boolean: Whether to include Remote's management fee in the total cost calculation.
  - `include_premium_benefits` boolean: Whether to include premium benefit options in the estimate.

## Response `200`

Success

- CostCalculatorEstimatePDFResponse
  - `data` object, required
    - `content` string, binary, required: A file represented as a base64-encoded string.

## Other responses

- `404`: Not Found
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/remote-com/apis/pay-compensation.md) - [All operations](https://skmtc.dev/remote-com/apis/pay-compensation/llms.txt) - [OpenAPI document](https://skmtc.dev/remote-com/apis/pay-compensation/revisions/ec29f1865c5e?raw)
