### Provisional Start Date Schema Example (JSON) Source: https://developer.remote.com/docs/prerequisites This JSON schema snippet illustrates the structure for defining a provisional start date, including presentation hints and a minimum onboarding time (MOT) value. The `meta.mot` field is crucial for calculating valid start dates based on country-specific onboarding requirements. ```json { "title": "Provisional start date", "format": "date", "x-jsf-presentation": { "inputType": "date", "meta": { "mot": 3 }, "minDate": "2025-03-10" } } ``` -------------------------------- ### Show Company Response Example Source: https://developer.remote.com/reference/patch_update_company-2 Provides an example of the response when retrieving company details. It includes nested objects for address and bank account details, along with company metadata like creation date and status. ```json { "data": { "company": { "address_details": { "address": "1709 Broderick St", "address_line_2": "Flat number 123", "city": "San Francisco", "postal_code": "94115", "state": "CA" }, "bank_account_details": { "account_holder": "Joe Smith", "account_number": "31234123123", "account_type": "savings", "name": "Bank name", "ownership_type": "BUSINESS", "routing_number": "123124123" }, "company_owner_email": "te@remote.com", "company_owner_name": "Joe Smith", "company_owner_user_id": "75619adf-8775-4531-9e7d-5b2cbabdc1a8", "country_code": "USA", "created_at": "2021-07-15T18:18:17Z", "default_legal_entity_credit_risk_status": "no_deposit_required", "desired_currency": "USD", "external_id": "00001111", "id": "e5a8b061-company-id-4c5c81ac885e", "name": "Your Company Name", "phone_number": "+1123123456", "status": "active", "terms_of_service_accepted_at": "2021-10-29T12:39:15Z", "updated_at": "2021-07-15T18:18:17Z" } } } ``` -------------------------------- ### Create Employment via Remote API (Bash) Source: https://developer.remote.com/docs/quick-start-guide This example demonstrates how to create a new employment record using a cURL command. It requires an authorization token, content type header, and a JSON payload containing company ID, country code, employee details, and start date. The `company_id` can be found in company settings, and `country_code` must be an ISO 3166-1 3-digit alphabetic code. ```bash curl --location --request POST \ --header "Authorization: Bearer <*your token*>" \ --header "Content-Type: application/json" \ https://gateway.remote-sandbox.com/v1/employments \ --data '{ "company_id": "*the Remote ID for your test company*", "country_code": "*the country where your employee will be employed*", "full_name": "*the full name of your employee*", "job_title": "*the job title of your employee*", "personal_email": "the personal email address of your employee", "type": "employee", "provisional_start_date": "a start date in the future" }' ``` -------------------------------- ### POST /employment.onboarding.started Source: https://developer.remote.com/reference/patch_update_employment This event is triggered when an employment onboarding is started. ```APIDOC ## POST /employment.onboarding.started ### Description This event is triggered when an employment onboarding is started. ### Method POST ### Endpoint /employment.onboarding.started ### Parameters #### Request Body - **event_type** (string) - Required - The type of the event, which is 'employment.onboarding.started'. - **employment_id** (string) - Required - The unique identifier for the employment. ### Request Example ```json { "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "employment.onboarding.started" } ``` ### Response #### Success Response (200) Any 200 response confirms that the webhook was delivered. #### Response Example ```json { "message": "Webhook received successfully" } ``` ``` -------------------------------- ### POST /webhooks/employment/onboarding/started Source: https://developer.remote.com/reference/get_show_employment_onboarding_steps This event is triggered when an employment onboarding is started. ```APIDOC ## POST /webhooks/employment/onboarding/started ### Description This event is triggered when an employment onboarding is started. ### Method POST ### Endpoint /webhooks/employment/onboarding/started ### Parameters #### Request Body - **event_type** (string) - Required - The type of the event. - **employment_id** (string) - Required - The ID of the employment. ### Request Example ```json { "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "employment.onboarding.started" } ``` ### Response #### Success Response (200) Any 200 response confirms that the webhook was delivered. #### Response Example ```json { "message": "Webhook received successfully" } ``` ``` -------------------------------- ### Successful Request Example Source: https://developer.remote.com/docs/rate-limit An example of a successful GET request to the `/v1/countries` endpoint, including the rate limit headers. ```APIDOC ## GET /v1/countries ### Description Retrieves a list of countries. ### Method GET ### Endpoint `https://gateway.remote.com/v1/countries` ### Request Example ```curl curl -I --location --request GET \ --header "Authorization: Bearer ra_live_e32d..." \ --header "Content-Type: application/json" \ https://gateway.remote.com/v1/countries ``` ### Response #### Success Response (200) - `Content-Type` (string) - `application/json; charset=utf-8` - `x-ratelimit-count` (integer) - Number of requests made in the current period. - `x-ratelimit-remaining` (integer) - Number of requests remaining before reset. - `x-ratelimit-reset` (integer) - Milliseconds until the rate limit resets. #### Response Example ``` HTTP/2 200 Content-Type: application/json; charset=utf-8 x-ratelimit-count: 50 x-ratelimit-remaining: 250 x-ratelimit-reset: 12043 ... ``` ``` -------------------------------- ### POST /employment.onboarding.started Source: https://developer.remote.com/reference/post_create_employment-2 This event is triggered when an employment onboarding is started. It confirms the webhook delivery. ```APIDOC ## POST /employment.onboarding.started ### Description This event is triggered when an employment onboarding is started. Any 200 response confirms that the webhook was delivered. ### Method POST ### Endpoint /employment.onboarding.started ### Parameters #### Request Body - **employment_id** (string) - Required - The unique identifier for the employment. - **event_type** (string) - Required - The type of event, which is 'employment.onboarding.started'. ### Request Example ```json { "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "employment.onboarding.started" } ``` ### Response #### Success Response (200) - **message** (string) - Confirms that the webhook was delivered successfully. ``` -------------------------------- ### GET /v1/companies/schema Source: https://developer.remote.com/docs/creating-a-company Fetches the schema for address details for a given country. This is useful for validating and structuring address input. ```APIDOC ## GET /v1/companies/schema ### Description Fetches the schema for address details for a given country. This is useful for validating and structuring address input. ### Method GET ### Endpoint https://gateway.niceremote.com/v1/companies/schema ### Parameters #### Query Parameters - **country_code** (string) - Required - The ISO 3166-1 alpha-3 country code for which to fetch the address schema. - **form** (string) - Required - Specifies the type of schema to retrieve. Must be 'address_details'. ### Request Example ```bash curl --location 'https://gateway.niceremote.com/v1/companies/schema?country_code=GBR&form=address_details' \ --header 'Authorization: Bearer eyJra...' ``` ### Response #### Success Response (200) - **data** (object) - Contains the schema definition for address details. - **additionalProperties** (boolean) - Indicates if additional properties are allowed. - **properties** (object) - Defines the properties of the address schema. - **address** (object) - **maxLength** (integer) - Maximum length for the address string. - **title** (string) - Title of the field. - **type** (string) - Data type of the field (e.g., 'string'). - **x-jsf-presentation** (object) - Presentation hints for the field. - **inputType** (string) - Input type (e.g., 'text'). - **address_line_2** (object) - **description** (string) - Description of the field (e.g., 'For example, apartment, block, or building number.'). - **maxLength** (integer) - Maximum length for the field. - **title** (string) - Title of the field. - **type** (array) - Allowed data types (e.g., ['string', 'null']). - **x-jsf-presentation** (object) - **inputType** (string) - Input type (e.g., 'text'). - **city** (object) - **maxLength** (integer) - Maximum length for the city string. - **title** (string) - Title of the field. - **type** (string) - Data type of the field (e.g., 'string'). - **x-jsf-presentation** (object) - **inputType** (string) - Input type (e.g., 'text'). - **postal_code** (object) - **description** (string) - Description of the field (e.g., 'Make sure you enter the correct UK postal code format. Eg: KY11 9NN, N1 2NU, LS1 8EQ'). - **maxLength** (integer) - Maximum length for the postal code string. - **pattern** (string) - Regular expression pattern for the postal code. - **title** (string) - Title of the field. - **type** (string) - Data type of the field (e.g., 'string'). - **x-jsf-presentation** (object) - **inputType** (string) - Input type (e.g., 'text'). - **required** (array) - List of required fields (e.g., ['address', 'city', 'postal_code']). - **type** (string) - The overall type of the schema (e.g., 'object'). - **x-jsf-order** (array) - The order of fields in the schema. #### Response Example ```json { "data": { "additionalProperties": false, "properties": { "address": { "maxLength": 255, "title": "Address", "type": "string", "x-jsf-presentation": { "inputType": "text" } }, "address_line_2": { "description": "(Optional) For example, apartment, block, or building number.", "maxLength": 255, "title": "Address line 2", "type": [ "string", "null" ], "x-jsf-presentation": { "inputType": "text" } }, "city": { "maxLength": 255, "title": "City", "type": "string", "x-jsf-presentation": { "inputType": "text" } }, "postal_code": { "description": "Make sure you enter the correct UK postal code format. Eg: KY11 9NN, N1 2NU, LS1 8EQ", "maxLength": 255, "pattern": "^([A-Z]{1,2}[0-9][A-Z0-9]?|[BFS]IQQ) ?[0-9][A-Z]{2}$", "title": "Postal code", "type": "string", "x-jsf-presentation": { "inputType": "text" } } }, "required": [ "address", "city", "postal_code" ], "type": "object", "x-jsf-order": [ "address", "address_line_2", "city", "postal_code" ] } } ``` ``` -------------------------------- ### POST /employment/onboarding/started Source: https://developer.remote.com/reference/patch_update_employment-2 This event is triggered when an employment onboarding is started. ```APIDOC ## POST /employment/onboarding/started ### Description This event is triggered when an employment onboarding is started. ### Method POST ### Endpoint /employment/onboarding/started ### Parameters #### Request Body - **event_type** (string) - Required - The type of the event, should be 'employment.onboarding.started'. - **employment_id** (string) - Required - The unique identifier for the employment. ### Request Example ```json { "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "employment.onboarding.started" } ``` ### Response #### Success Response (200) Any 200 response confirms that the webhook was delivered. #### Response Example ```json { "message": "Webhook received successfully" } ``` ``` -------------------------------- ### Create Employment Source: https://developer.remote.com/docs/quick-start-guide This endpoint allows you to create a new employment record for an employee in your test company within the sandbox environment. It requires essential details such as company ID, country code, employee's full name, job title, personal email, employment type, and a provisional start date. ```APIDOC ## POST /v1/employments ### Description Creates a new employment record for an employee. ### Method POST ### Endpoint https://gateway.remote-sandbox.com/v1/employments ### Parameters #### Query Parameters None #### Request Body - **company_id** (string) - Required - The Remote ID for your test company. - **country_code** (string) - Required - ISO 3166-1 3-digit alphabetic code for the country where the employee will be employed. - **full_name** (string) - Required - The full name of the employee. - **job_title** (string) - Required - The job title of the employee. - **personal_email** (string) - Required - The personal email address of the employee. - **type** (string) - Required - The type of employment (e.g., "employee"). - **provisional_start_date** (string) - Required - A start date in the future. ### Request Example ```json { "company_id": "*the Remote ID for your test company*", "country_code": "*the country where your employee will be employed*", "full_name": "*the full name of your employee*", "job_title": "*the job title of your employee*", "personal_email": "the personal email address of your employee", "type": "employee", "provisional_start_date": "a start date in the future" } ``` ### Response #### Success Response (200) - **employment_id** (string) - The unique identifier for the created employment. - **status** (string) - The current status of the employment. #### Response Example ```json { "employment_id": "emp_12345abcde", "status": "onboarding" } ``` ``` -------------------------------- ### Get Company Details by ID Source: https://developer.remote.com/docs/creating-a-company Retrieves detailed information about a specific company using its unique identifier. This is useful for monitoring the status of company creation or for fetching current company data. ```APIDOC ## GET /companies/{company_id} ### Description Retrieves detailed information about a specific company using its unique identifier. ### Method GET ### Endpoint /companies/{company_id} ### Parameters #### Path Parameters - **company_id** (string) - Required - The unique identifier of the company to retrieve. ### Response #### Success Response (200) - **data** (object) - Contains the company details. - **company** (object) - Detailed information about the company. - **address_details** (object) - Address information for the company. - **bank_account_details** (object) - Bank account information for the company. - **company_owner_email** (string) - Email of the company owner. - **company_owner_name** (string) - Name of the company owner. - **company_owner_user_id** (string) - User ID of the company owner. - **country_code** (string) - Country code of the company. - **created_at** (string) - Timestamp when the company was created. - **desired_currency** (string) - The desired currency for the company. - **external_id** (string) - An external identifier for the company. - **id** (string) - The unique identifier of the company. - **name** (string) - The name of the company. - **phone_number** (string) - Phone number of the company. - **status** (string) - The current status of the company. - **terms_of_service_accepted_at** (string) - Timestamp when terms of service were accepted. - **updated_at** (string) - Timestamp when the company was last updated. #### Response Example ```json { "data": { "company": { "address_details": { "address": "1709 Broderick St", "address_line_2": "Flat number 123", "city": "San Francisco", "postal_code": "94115", "state": "CA" }, "bank_account_details": { "account_holder": "Joe Smith", "account_number": "31234123123", "account_type": "savings", "name": "Bank name", "ownership_type": "BUSINESS", "routing_number": "123124123" }, "company_owner_email": "te@remote.com", "company_owner_name": "Joe Smith", "company_owner_user_id": "75619adf-8775-4531-9e7d-5b2cbabdc1a8", "country_code": "USA", "created_at": "2021-07-15T18:18:17Z", "desired_currency": "USD", "external_id": "00001111", "id": "e5a8b061-company-id-4c5c81ac885e", "name": "Your Company Name", "phone_number": "+1123123456", "status": "active", "terms_of_service_accepted_at": "2021-10-29T12:39:15Z", "updated_at": "2021-07-15T18:18:17Z" } } } ``` ``` -------------------------------- ### employment.onboarding.started Source: https://developer.remote.com/reference/get_index_employment This endpoint handles the event triggered when an employment onboarding process is initiated. ```APIDOC ## POST /employment/onboarding/started ### Description This event is triggered when an employment onboarding is started. ### Method POST ### Endpoint /employment/onboarding/started ### Parameters #### Request Body - **employment_id** (string) - Required - The unique identifier for the employment. - **event_type** (string) - Required - The type of the event, which is 'employment.onboarding.started'. ### Request Example ```json { "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "employment.onboarding.started" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation that the webhook was delivered. #### Response Example ```json { "message": "Webhook delivered successfully." } ``` ``` -------------------------------- ### GET /show_employment_onboarding_steps Source: https://context7_llms Retrieves the onboarding steps and substeps for a given employment in a hierarchical, ordered structure. ```APIDOC ## GET /show_employment_onboarding_steps ### Description Returns onboarding steps and substeps for an employment in a hierarchical, ordered structure. ### Method GET ### Endpoint /show_employment_onboarding_steps ### Parameters #### Query Parameters - **employment_id** (string) - Required - The ID of the employment. ### Response #### Success Response (200) - **steps** (array) - An array of onboarding steps, each with substeps. #### Response Example ```json { "steps": [ { "id": "step1", "title": "Contract Details", "substeps": [ { "id": "substep1_1", "title": "Fill Contract Information" } ] } ] } ``` ``` -------------------------------- ### POST /eor/v1/companies?action=get_oauth_access_tokens Source: https://developer.remote.com/docs/getting-company-consent Creates a new company and simultaneously obtains an access token for API management. This endpoint is intended for eligible API partners who wish to streamline the company setup and authorization process. ```APIDOC ## POST /eor/v1/companies?action=get_oauth_access_tokens ### Description Creates a new company and obtains an access token for API management. This endpoint is intended for eligible API partners, allowing them to bypass the standard OAuth2 Authorization Code Flow. ### Method POST ### Endpoint `https://gateway.remote-sandbox.com/eor/v1/companies?action=get_oauth_access_tokens` ### Parameters #### Query Parameters - **action** (string) - Required - Must be `get_oauth_access_tokens` to enable token retrieval. #### Headers - **Authorization** (string) - Required - Bearer token generated by the Client Credentials Flow. - **Content-Type** (string) - Required - Must be `application/json`. #### Request Body - **name** (string) - Required - The name of the company. - **tax_number** (string) - Required - The company's tax identification number. - **country_code** (string) - Required - The ISO 3166-1 alpha-3 code of the country where the company is being created. Use the [list countries endpoint](https://gateway.remote.com/v1/docs/openapi.html#tag/Countries/operation/get_supported_country) to verify supported codes. - **desired_currency** (string) - Required - The desired currency for the company (e.g., "CAD"). - **company_owner_email** (string) - Required - The email address of the company owner. - **company_owner_name** (string) - Required - The full name of the company owner. - **terms_of_service_accepted_at** (string) - Required - Timestamp indicating acceptance of terms of service (ISO 8601 format). - **address_details** (object) - Required - Object containing address information. - **address** (string) - Required - The primary street address. - **address_line_2** (string) - Optional - Secondary address information. - **city** (string) - Required - The city name. - **postal_code** (string) - Required - The postal or ZIP code. - **state** (string) - Required - The state or province. ### Request Example ```bash curl --location \ --request POST \ --header 'Authorization: Bearer eyJraWQ...' \ --header 'Content-Type: application/json' \ 'https://gateway.remote-sandbox.com/eor/v1/companies?action=get_oauth_access_tokens' \ --data-raw '{ "name": "My Test Co.", "tax_number": "123456789", "country_code": "CAN", "desired_currency": "CAD", "company_owner_email": "jane@example.com", "company_owner_name": "Jane Smith", "terms_of_service_accepted_at": "2022-05-06 16:35:00Z", "address_details": { "address": "Adress line 1", "address_line_2": "Address line 2", "city": "San Francisco", "postal_code": "90001", "state": "CA" } }' ``` ### Response #### Success Response (200) - **data** (object) - Contains the company details and authentication tokens. - **company** (object) - Information about the newly created company. - **tokens** (object) - Authentication tokens for managing the company. - **access_token** (string) - A valid access token for API requests. Expires after `expires_in` seconds. - **refresh_token** (string) - A token used to obtain new access tokens. Store this securely. - **expires_in** (integer) - The duration in seconds for which the `access_token` is valid. #### Response Example ```json { "data": { "company":{ "...": "..." }, "tokens":{ "access_token": "", "refresh_token": "", "expires_in": 3600 } } } ``` ``` -------------------------------- ### Create Company Pricing Plan (from Partner Template) Source: https://developer.remote.com/reference/post_create_company_pricing_plan-1 This code snippet demonstrates creating a pricing plan from a partner template. It requires the pricing plan partner template ID and an optional start date. This approach is useful for leveraging pre-configured pricing structures provided by partners. ```json { "pricing_plan_partner_template_id": "37e7f0ce-055c-46a1-b60f-1ac73a083699", "start_date": "2025-01-01" } ``` -------------------------------- ### Company Creation API Source: https://developer.remote.com/docs/creating-a-company Eligible Remote API partners can create a company and obtain a company-scoped access token in a single request. This bypasses the need for a separate authorization flow to get consent after company creation. ```APIDOC ## POST /eor/v1/companies ### Description Creates a new company and, if eligible, returns a company-scoped OAuth access token in the same response. ### Method POST ### Endpoint `/eor/v1/companies` ### Parameters #### Query Parameters - **action** (string) - Required - Use `get_oauth_access_tokens` to enable simultaneous company creation and token retrieval. #### Request Body - **legal_name** (string) - Required - The legal name of the company. - **country_code** (string) - Required - The ISO 3166-1 alpha-2 country code where the company is registered. - **timezone** (string) - Required - The IANA timezone identifier for the company's primary location (e.g., `"America/New_York"`). ### Request Example ```json { "legal_name": "Example Corp", "country_code": "US", "timezone": "America/Los_Angeles", "action": "get_oauth_access_tokens" } ``` ### Response #### Success Response (201 Created) - **id** (string) - The unique identifier for the newly created company. - **legal_name** (string) - The legal name of the company. - **country_code** (string) - The country code of the company. - **timezone** (string) - The timezone of the company. - **oauth_access_token** (string) - The company-scoped OAuth access token (only present if `action=get_oauth_access_tokens` was used and the partner is eligible). #### Response Example ```json { "id": "cmp_12345abcde", "legal_name": "Example Corp", "country_code": "US", "timezone": "America/Los_Angeles", "oauth_access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } ``` #### Error Response (400 Bad Request) - **message** (string) - Indicates an issue with the request parameters, potentially including eligibility for the `get_oauth_access_tokens` action. #### Error Response Example ```json { "message": "invalid_params" } ``` ``` -------------------------------- ### Successful API Request with Rate Limit Headers (cURL) Source: https://developer.remote.com/docs/rate-limit This example demonstrates a successful GET request to the Remote API, showcasing the `x-ratelimit-count`, `x-ratelimit-remaining`, and `x-ratelimit-reset` headers in the response. These headers are crucial for monitoring and managing API usage. ```cURL curl -I --location --request GET \ --header "Authorization: Bearer ra_live_e32d..." \ --header "Content-Type: application/json" \ https://gateway.remote.com/v1/countries HTTP/2 200 Content-Type: application/json; charset=utf-8 x-ratelimit-count: 50 x-ratelimit-remaining: 250 x-ratelimit-reset: 12043 ... ``` -------------------------------- ### GET /llmstxt/developer_remote_llms_txt/employment/{employment_id}/onboarding_steps Source: https://developer.remote.com/reference/get_show_employment_onboarding_steps Retrieves onboarding steps and substeps for a given employment ID in a hierarchical, ordered structure. ```APIDOC ## GET /llmstxt/developer_remote_llms_txt/employment/{employment_id}/onboarding_steps ### Description Returns onboarding steps and substeps in a hierarchical, ordered structure. ### Method GET ### Endpoint /llmstxt/developer_remote_llms_txt/employment/{employment_id}/onboarding_steps ### Parameters #### Path Parameters - **employment_id** (string) - Required - Employment ID (UUID format). ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **data.steps** (array) - An array of onboarding steps. - **steps[].completed_at** (string, nullable) - The timestamp when the step was completed. - **steps[].id** (string) - The unique identifier for the step. - **steps[].label** (string) - The display name for the step. - **steps[].started_at** (string) - The timestamp when the step was started. - **steps[].status** (string) - The current status of the step (e.g., 'completed', 'in_progress'). - **steps[].sub_steps** (array, optional) - An array of substeps for this step. - **sub_steps[].completed_at** (string, nullable) - The timestamp when the substep was completed. - **sub_steps[].id** (string) - The unique identifier for the substep. - **sub_steps[].label** (string) - The display name for the substep. - **sub_steps[].optional** (boolean) - Indicates if the substep is optional. - **sub_steps[].started_at** (string) - The timestamp when the substep was started. - **sub_steps[].status** (string) - The current status of the substep. - **sub_steps[].tag** (string, nullable) - An optional tag for the substep. - **sub_steps[].type** (string) - The type of the substep. - **steps[].type** (string) - The type of the step. #### Response Example ```json { "data": { "steps": [ { "completed_at": "2025-02-18T14:30:00Z", "id": "step_1", "label": "Adding and inviting employee", "started_at": "2025-02-18T10:00:00Z", "status": "completed", "sub_steps": [ { "completed_at": "2025-02-18T12:00:00Z", "id": "company_adds_employment_details", "label": "Company adds employment details", "optional": false, "started_at": "2025-02-18T10:00:00Z", "status": "completed", "type": "company_adds_employment_details" }, { "completed_at": "2025-02-18T14:30:00Z", "id": "company_invites_employee", "label": "Company invites employee", "optional": false, "started_at": "2025-02-18T12:30:00Z", "status": "completed", "tag": "Draft", "type": "company_invites_employee" } ], "type": "getting_started" } ] } } ``` ``` -------------------------------- ### Get Company Details by ID JSON Response Source: https://developer.remote.com/docs/creating-a-company This JSON structure represents the detailed response when fetching a company's information using its ID. It includes comprehensive details like address, bank information, and company status. ```json { "data": { "company": { "address_details": { "address": "1709 Broderick St", "address_line_2": "Flat number 123", "city": "San Francisco", "postal_code": "94115", "state": "CA" }, "bank_account_details": { "account_holder": "Joe Smith", "account_number": "31234123123", "account_type": "savings", "name": "Bank name", "ownership_type": "BUSINESS", "routing_number": "123124123" }, "company_owner_email": "te@remote.com", "company_owner_name": "Joe Smith", "company_owner_user_id": "75619adf-8775-4531-9e7d-5b2cbabdc1a8", "country_code": "USA", "created_at": "2021-07-15T18:18:17Z", "desired_currency": "USD", "external_id": "00001111", "id": "e5a8b061-company-id-4c5c81ac885e", "name": "Your Company Name", "phone_number": "+1123123456", "status": "active", "terms_of_service_accepted_at": "2021-10-29T12:39:15Z", "updated_at": "2021-07-15T18:18:17Z" } } } ``` -------------------------------- ### Perform Authenticated Request with cURL Source: https://developer.remote.com/docs/authorization-for-customers This example demonstrates how to make an authenticated GET request to the Remote API using cURL. It shows how to include the bearer token in the 'Authorization' header and set the 'Content-Type'. The token prefix determines the target environment (production or sandbox). ```curl curl --location --request GET \ --header "Authorization: Bearer ra_live_32adf..." \ --header "Content-Type: application/json" \ https://gateway.remote.com/v1/employments ``` -------------------------------- ### employment.onboarding.started Source: https://developer.remote.com/reference/get_index_employment_job This event is triggered when an employment onboarding is started. It requires the employment ID and event type. ```APIDOC ## POST /webhooks/employment/onboarding/started ### Description This event is triggered when an employment onboarding is started. ### Method POST ### Endpoint /webhooks/employment/onboarding/started ### Parameters #### Request Body - **employment_id** (string) - Required - The unique identifier for the employment. - **event_type** (string) - Required - The type of the event, which is 'employment.onboarding.started'. ### Request Example ```json { "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "employment.onboarding.started" } ``` ### Response #### Success Response (200) Any 200 response confirms that the webhook was delivered. #### Response Example ```json { "message": "Webhook received successfully" } ``` ``` -------------------------------- ### Fetch Address Details Schema Example (Bash) Source: https://developer.remote.com/docs/creating-a-company This cURL command illustrates how to fetch the schema for address details for a specific country. It requires an authorization token and specifies the country code and form type in the URL. The response provides the structure and validation rules for address details. ```bash curl --location 'https://gateway.niceremote.com/v1/companies/schema?country_code=GBR&form=address_details' \ --header 'Authorization: Bearer eyJra...' ``` -------------------------------- ### Onboarding Task Details Source: https://developer.remote.com/reference/patch_update_employment Provides details and status for various onboarding tasks required for a project, such as address, administrative, and bank account details. ```APIDOC ## GET /llmstxt/developer_remote_llms_txt/onboarding/tasks/{task_type} ### Description Retrieves the description and status of a specific type of onboarding task for the Remote LLMs TXT project. ### Method GET ### Endpoint /llmstxt/developer_remote_llms_txt/onboarding/tasks/{task_type} ### Parameters #### Path Parameters - **task_type** (string) - Required - The type of onboarding task (e.g., 'address_details', 'administrative_details', 'bank_account_details'). #### Query Parameters None ### Request Example ```json { "example": "No request body needed for GET request." } ``` ### Response #### Success Response (200) - **description** (string) - A description of the onboarding task. - **status** (string) - The current status of the task ('completed' or 'pending'). #### Response Example ```json { "description": "Information we need for tax purposes.", "status": "completed" } ``` ``` -------------------------------- ### Onboarding Task Details Source: https://developer.remote.com/reference/patch_update_employment-3 This section details the structure of various onboarding tasks, including their descriptions and statuses. Each task is represented as an object with 'description' and 'status' fields. ```APIDOC ## Onboarding Task Structure ### Description Represents the details and status of an onboarding task. ### Method N/A (Schema definition) ### Endpoint N/A (Schema definition) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```json { "description": "Information we need for tax purposes.", "status": "completed" } ``` ### Response #### Success Response (200) - **description** (string) - A description of the task. - **status** (string) - The status of the task, which can be 'completed' or 'pending'. #### Response Example ```json { "description": "Information we need for tax purposes.", "status": "completed" } ``` ## TaskStatus Enum ### Description An enumeration representing the possible statuses of an onboarding task. ### Values - **completed**: The task has been completed. - **pending**: The task is currently pending. ## Specific Task Details ### Personal Details - **description**: "Personal details, such as name and date of birth." - **status**: "completed" ### Pricing Plan Details - **description**: "How often Remote will bill employers for management fees." - **status**: "completed" ### Address Details - **description**: "Description and status of an onboarding task." - **example**: { "description": "Information we need for tax purposes.", "status": "completed" } - **properties**: - **description** (string) - **status** (string, enum: ["completed", "pending"]) ### Administrative Details - **description**: "Description and status of an onboarding task." - **example**: { "description": "Information we need for tax purposes.", "status": "completed" } - **properties**: - **description** (string) - **status** (string, enum: ["completed", "pending"]) ### Bank Account Details - **description**: "Description and status of an onboarding task." - **example**: { "description": "Information we need for tax purposes.", "status": "completed" } - **properties**: - **description** (string) - **status** (string, enum: ["completed", "pending"]) ### Billing Address Details - **description**: "Description and status of an onboarding task." - **example**: { "description": "Information we need for tax purposes.", "status": "completed" } - **properties**: - **description** (string) - **status** (string, enum: ["completed", "pending"]) ``` -------------------------------- ### Offboarding Review Started Webhook Source: https://developer.remote.com/reference/get_show_offboarding This event is triggered when an offboarding review has started. ```APIDOC ## POST /webhooks/offboarding/review_started ### Description This event is triggered when an offboarding review has started. ### Method POST ### Endpoint /webhooks/offboarding/review_started ### Parameters #### Request Body - **event_type** (string) - Required - The type of the event, which is 'offboarding.review_started'. - **employment_id** (string) - Required - The unique identifier for the employment. - **offboarding_request_id** (string) - Required - The unique identifier for the offboarding request. ### Request Example ```json { "event_type": "offboarding.review_started", "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "offboarding_request_id": "0073fcb5-b669-4e4a-b963-2a47744e75a1" } ``` ### Response #### Success Response (200) Any 200 response confirms that the webhook was delivered. #### Response Example ```json { "message": "Webhook received successfully" } ``` ``` -------------------------------- ### Time Off Started Webhook Source: https://developer.remote.com/reference/post_approve_cancellation_request-1 This webhook is triggered when a time off period has started. ```APIDOC ## POST /webhooks/timeoff/started ### Description This event is triggered when a timeoff has started. ### Method POST ### Endpoint /webhooks/timeoff/started ### Request Body - **timeoff_id** (string) - Required - The ID of the time off request. - **employment_id** (string) - Required - The ID of the employment. - **event_type** (string) - Required - The type of event, should be 'timeoff.started'. ### Request Example ```json { "timeoff_id": "0073fcb5-b669-4e4a-b963-2a47744e75a1", "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "timeoff.started" } ``` ### Response #### Success Response (200) - **message** (string) - Confirms that the webhook was delivered successfully. ``` -------------------------------- ### Create Company Pricing Plan (from Product Price) Source: https://developer.remote.com/reference/post_create_company_pricing_plan-1 This code snippet illustrates how to create a pricing plan for a company using a product price. It requires the product price ID, currency code, and the amount in cents. This method is suitable when you have a predefined product price to associate with the plan. ```json { "amount": 29900, "currency_code": "USD", "product_price_id": "37e7f0ce-055c-46a1-b60f-1ac73a083699" } ``` -------------------------------- ### Time Off Started Webhook Source: https://developer.remote.com/reference/get_categories_expense This event is triggered when a timeoff has started. It confirms the delivery of the webhook. ```APIDOC ## POST /webhooks/timeoff.started ### Description This event is triggered when a timeoff has started. The API confirms the successful delivery of the webhook. ### Method POST ### Endpoint /webhooks/timeoff.started ### Parameters #### Request Body - **timeoff_id** (string) - Required - The unique identifier for the time off request. - **employment_id** (string) - Required - The unique identifier for the employment. - **event_type** (string) - Required - The type of event, which is 'timeoff.started'. ### Request Example ```json { "employment_id": "2614f814-b08e-4c8e-8c4d-ddbcc4692d99", "event_type": "timeoff.started", "timeoff_id": "0073fcb5-b669-4e4a-b963-2a47744e75a1" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating successful delivery. #### Response Example ```json { "message": "Webhook delivered successfully." } ``` ```