Remote Employments API

The Employments API from Remote — 53 operation(s) for employments.

Operations 66

PUT /v2/employments/{employment_id}/pricing-plan-details Update pricing plan details #
POST /v1/cancel-onboarding/{employment_id} Cancel onboarding #
PUT /v2/employments/{employment_id}/address-details Update address details #
GET /v1/employments List employments #
POST /v1/employments Create employment #
GET /v1/employee/bank-account Show employee bank account #
PUT /v1/employee/bank-account Update employee bank account #
GET /v2/employments/{employment_id}/engagement-agreement-details Get engagement agreement details #
POST /v2/employments/{employment_id}/engagement-agreement-details Upsert engagement agreement details #
GET /v1/employee/documents/{id} Download a document for the employee #
GET /v1/identity-verification/{employment_id} Get Employment Profile #
GET /v1/employments/{employment_id}/job Show employment job #
DELETE /v1/onboarding/employments/{employment_id}/pre-onboarding-requirements/{requirement_slug}/acknowledge Remove a pre-onboarding acknowledgement #
POST /v1/onboarding/employments/{employment_id}/pre-onboarding-requirements/{requirement_slug}/acknowledge Acknowledge a pre-onboarding acknowledgement requirement #
GET /v1/employments/{employment_id}/background-checks/{background_check_id} Show Background Check #
GET /v1/onboarding/employments/{employment_id}/pre-onboarding-document-requirements List pre-onboarding document requirements for an employment #
GET /v1/employments/{employment_id}/cost-center-allocations List cost center allocations for an employment #
PUT /v2/employments/{employment_id}/federal-taxes Update federal taxes #
POST /v1/risk-reserve Create risk reserve #
POST /v1/employments/{employment_id}/risk-reserve-proof-of-payments Submit risk reserve proof of payment #
GET /v1/employee/address Show employee address #
PUT /v1/employee/address Update employee address #
GET /v2/employments/{employment_id}/basic-information Get basic information #
PUT /v2/employments/{employment_id}/basic-information Update basic information #
PUT /v1/employments/{employment_id}/federal-taxes Update federal taxes #
POST /v1/onboarding/employments/{employment_id}/pre-onboarding-requirements/{requirement_slug}/documents Find or create a document for a pre-onboarding requirement #
GET /v1/files/{id} Download file #
POST /v1/identity-verification/{employment_id}/decline Decline Identity Verification #
GET /v1/onboarding/employments/{employment_id}/pre-onboarding-documents/{id} Retrieve a pre-onboarding document with its rendered PDF content #
PUT /v1/employee/federal-taxes Submit employee federal taxes #
PUT /v2/employments/{employment_id}/emergency-contact Update emergency contact #
PUT /v1/employments/{employment_id}/basic-information Update basic information #
GET /v1/employments/{employment_id} Show employment #
PATCH /v1/employments/{employment_id} Update employment #
PUT /v1/employments/{employment_id} Update employment #
GET /v1/company/{company_id}/cost-center-allocations List cost center allocations for a company #
GET /v1/bulk-employment-jobs/{job_id}/rows List bulk employment rows #
GET /v1/employee/emergency-contact Show employee emergency contact #
PUT /v1/employee/emergency-contact Update employee emergency contact #
PUT /v2/employments/{employment_id}/contract-details Update contract details #
POST /v1/ready Complete onboarding #
POST /v1/employments/{employment_id}/contract-origin Set contract origin for a contractor employment #
GET /v1/employee/personal-details Show employee personal details #
PUT /v1/employee/personal-details Update employee personal details #
GET /v1/employments/{employment_id}/files List employment files #
POST /v1/documents Upload file #
POST /v1/employments/{employment_id}/invite Invite employment #
PUT /v2/employments/{employment_id}/bank-account-details Update bank account details #
GET /v1/employments/{employment_id}/onboarding-steps Show onboarding steps for an employment #
GET /v1/bulk-employment-jobs/{job_id} Show bulk employment job #
PATCH /v2/employments/{employment_id} Update employment #
PUT /v2/employments/{employment_id} Update employment #
PUT /v2/employments/{employment_id}/personal-details Update personal details #
POST /v1/onboarding/employments/{employment_id}/pre-onboarding-documents Find or create a pre-onboarding document for an employment #
PUT /v2/employments/{employment_id}/billing-address-details Update billing address details #
POST /v1/bulk-employment-jobs Create bulk employment job #
PUT /v1/employments/{employment_id}/personal-details Update personal details #
POST /v1/onboarding/employments/{employment_id}/pre-onboarding-documents/{id}/sign Sign a pre-onboarding document #
PUT /v1/employee/state-taxes/{jurisdiction} Submit employee state taxes #
GET /v1/employments/{employment_id}/engagement-agreement-details Get engagement agreement details #
POST /v1/employments/{employment_id}/engagement-agreement-details Upsert engagement agreement details #
PUT /v2/employments/{employment_id}/administrative-details Update administrative details #
GET /v1/employee/documents Indexes all the documents for the employee #
POST /v1/employee/documents Upload employee file #
POST /v1/identity-verification/{employment_id}/verify Verify Employment Identity #
GET /v1/onboarding/employments/{employment_id}/pre-onboarding-requirements List pre-onboarding requirements for an employment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/remote-employments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

remote-employments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Remote Employments API
  version: 0.1.0
servers:
- url: https://gateway.remote.com/
  variables: {}
- url: https://gateway.remote-sandbox.com/
  variables: {}
security:
- OAuth2: []
tags:
- name: Employments
paths:
  /v2/employments/{employment_id}/pricing-plan-details:
    put:
      callbacks: {}
      deprecated: false
      description: 'Updates the pricing plan for an employment. The frequency determines how often Remote bills the

        employer for management fees. Annual billing typically offers a discount.



        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | - | Manage employments (`employment:write`) |

        '
      operationId: put_v2_employments_employment_id_pricing-plan-details
      parameters:
      - description: Employment ID
        example: 93t3j-employment-id-9suej43
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      - description: Version of the pricing_plan_details form schema
        example: 1
        in: query
        name: pricing_plan_details_json_schema_version
        required: false
        schema:
          default: latest
          oneOf:
          - description: Specific version number
            minimum: 1
            type: integer
          - description: Use latest version
            enum:
            - latest
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmploymentPricingPlanDetailsParams'
        description: Employment pricing plan details params
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmploymentDetailsOnlyResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
      summary: Update pricing plan details
      tags:
      - Employments
  /v1/cancel-onboarding/{employment_id}:
    post:
      callbacks: {}
      deprecated: false
      description: 'Cancel onboarding.


        Requirements for the cancellation to succeed:


        * Employment has to be in `invited`, `created`, `created_awaiting_reserve`, `created_reserve_paid`, `pre_hire` status

        * Employee must not have signed the employment contract



        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | - | Manage onboarding (`onboarding:write`) |

        '
      operationId: post_v1_cancel-onboarding_employment_id
      parameters:
      - description: Employment ID
        example: 31b8e49b-aa1c-47af-849c-3d0a53e20e0d
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      - description: 'Whether the request should be performed async

          '
        example: true
        in: query
        name: async
        required: false
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - onboarding:write
        - employments
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - onboarding:write
        - employments
        - all:write
      summary: Cancel onboarding
      tags:
      - Employments
  /v2/employments/{employment_id}/address-details:
    put:
      callbacks: {}
      deprecated: false
      description: 'Updates employment''s address details.


        This endpoint requires and returns country-specific data. The exact required and returned fields will

        vary depending on which country the employment is in. To see the list of parameters for each country,

        see the **Show form schema** endpoint under the [Countries](#tag/Countries) category.


        Please note that the compliance requirements for each country are subject to change according to local

        laws. Given its continual updates, using Remote''s [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) should be considered in order to avoid

        compliance issues and to have the latest version of a country requirements.


        If you are using this endpoint to build an integration, make sure you are dynamically collecting or

        displaying the latest parameters for each country by querying the _"Show form schema"_ endpoint.


        For more information on JSON Schemas, see the **How JSON Schemas work** documentation.


        To learn how you can dynamically generate forms to display in your UI, see the documentation for

        the [json-schema-form](https://developer.remote.com/docs/how-json-schemas-form) tool.




        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | - | Manage employments (`employment:write`) |

        '
      operationId: put_v2_employments_employment_id_address-details
      parameters:
      - description: Employment ID
        example: 93t3j-employment-id-9suej43
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      - description: Version of the address_details form schema
        example: 1
        in: query
        name: address_details_json_schema_version
        required: false
        schema:
          default: latest
          oneOf:
          - description: Specific version number
            minimum: 1
            type: integer
          - description: Use latest version
            enum:
            - latest
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmploymentAddressDetailsParams'
        description: Employment address details params
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmploymentDetailsOnlyResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
      summary: Update address details
      tags:
      - Employments
  /v1/employments:
    get:
      callbacks: {}
      deprecated: false
      description: 'Lists all employments, except for the deleted ones.


        This endpoint requires and returns country-specific data. The exact required and returned fields will

        vary depending on which country the employment is in. To see the list of parameters for each country,

        see the **Show form schema** endpoint under the [Countries](#tag/Countries) category.


        Please note that the compliance requirements for each country are subject to change according to local

        laws. Given its continual updates, using Remote''s [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) should be considered in order to avoid

        compliance issues and to have the latest version of a country requirements.


        If you are using this endpoint to build an integration, make sure you are dynamically collecting or

        displaying the latest parameters for each country by querying the _"Show form schema"_ endpoint.


        For more information on JSON Schemas, see the **How JSON Schemas work** documentation.


        To learn how you can dynamically generate forms to display in your UI, see the documentation for

        the [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) tool.


        '
      operationId: get_v1_employments
      parameters:
      - description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.


          The refresh token needs to have been obtained through the Authorization Code flow.

          '
        example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Company ID
        example: 93t3j-company-id-9suej43
        in: query
        name: company_id
        required: false
        schema:
          type: string
      - description: Filters the results by employments whose login email matches the value
        example: anna@example.com
        in: query
        name: email
        required: false
        schema:
          type: string
      - description: 'Filters the results by employments whose status matches the value.

          Supports multiple values separated by commas.

          Also supports the value `incomplete` to get all employments that are not onboarded yet.

          '
        in: query
        name: status
        required: false
        schema:
          type: string
      - description: Filters the results by employments whose employment product type matches the value
        example: contractor
        in: query
        name: employment_type
        required: false
        schema:
          type: string
      - description: 'Filters the results by employments whose employment model matches the value.

          Possible values: `global_payroll`, `peo`, `eor`

          '
        example: global_payroll
        in: query
        name: employment_model
        required: false
        schema:
          enum:
          - global_payroll
          - peo
          - eor
          type: string
      - description: Filters the results by the employment's short ID. Returns at most one result.
        example: aB1cD2
        in: query
        name: short_id
        required: false
        schema:
          type: string
      - description: Starts fetching records after the given page
        example: 1
        in: query
        name: page
        required: false
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: Number of items per page
        example: 20
        in: query
        name: page_size
        required: false
        schema:
          default: 20
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEmploymentsResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      summary: List employments
      tags:
      - Employments
    post:
      callbacks: {}
      deprecated: false
      description: 'Creates an employment. We support creating employees and contractors.


        ## Global Payroll Employees


        To create a Global Payroll employee, pass `global_payroll_employee` as the `type` parameter,

        and provide the id of the specific legal entity that the employee will be engaged by and billed to as the `engaged_by_legal_entity_id` parameter.


        ## HRIS Employees


        To create a HRIS employee, pass `hris` as the `type` parameter.


        This endpoint requires and returns country-specific data. The exact required and returned fields will

        vary depending on which country the employment is in. To see the list of parameters for each country,

        see the **Show form schema** endpoint under the [Countries](#tag/Countries) category.


        Please note that the compliance requirements for each country are subject to change according to local

        laws. Given its continual updates, using Remote''s [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) should be considered in order to avoid

        compliance issues and to have the latest version of a country requirements.


        If you are using this endpoint to build an integration, make sure you are dynamically collecting or

        displaying the latest parameters for each country by querying the _"Show form schema"_ endpoint.


        For more information on JSON Schemas, see the **How JSON Schemas work** documentation.


        To learn how you can dynamically generate forms to display in your UI, see the documentation for

        the [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) tool.




        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | - | Manage employments (`employment:write`) |

        '
      operationId: post_v1_employments
      parameters:
      - description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.


          The refresh token needs to have been obtained through the Authorization Code flow.

          '
        example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Version of the form schema
        example: 1
        in: query
        name: json_schema_version
        required: false
        schema:
          default: latest
          oneOf:
          - description: Specific version number
            minimum: 1
            type: integer
          - description: Use latest version
            enum:
            - latest
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmploymentCreateParams'
        description: Employment params
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmploymentCreationResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
      summary: Create employment
      tags:
      - Employments
  /v1/employee/bank-account:
    get:
      callbacks: {}
      deprecated: false
      description: 'Returns the authenticated employee''s bank account details.


        This endpoint requires and returns country-specific data. The exact fields vary depending on which

        country the authenticated employee''s employment is in. Query the

        [Show form schema](#tag/Countries/operation/get_show_form_country) endpoint with `bank_account_details`

        as the form name to discover the schema for a given country.




        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | View bank accounts (`bank_account:read`) | Manage bank accounts (`bank_account:write`) |

        '
      operationId: get_v1_employee_bank-account
      parameters:
      - description: Version of the bank_account_details form schema
        example: 1
        in: query
        name: bank_account_details_json_schema_version
        required: false
        schema:
          default: latest
          oneOf:
          - description: Specific version number
            minimum: 1
            type: integer
          - description: Use latest version
            enum:
            - latest
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmploymentDetailsOnlyResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - OAuth2Assertion:
        - bank_account:read
        - bank_account:write
        - employments
        - all:write
        - all:read
      summary: Show employee bank account
      tags:
      - Employments
    put:
      callbacks: {}
      deprecated: false
      description: 'Upserts the authenticated employee''s bank account details.


        This endpoint requires and returns country-specific data. The exact fields vary depending on which

        country the authenticated employee''s employment is in. Query the

        [Show form schema](#tag/Countries/operation/get_show_form_country) endpoint with `bank_account_details`

        as the form name to discover the schema for a given country.




        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | - | Manage bank accounts (`bank_account:write`) |

        '
      operationId: put_v1_employee_bank-account
      parameters:
      - description: Version of the bank_account_details form schema
        example: 1
        in: query
        name: bank_account_details_json_schema_version
        required: false
        schema:
          default: latest
          oneOf:
          - description: Specific version number
            minimum: 1
            type: integer
          - description: Use latest version
            enum:
            - latest
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmploymentBankAccountDetailsParams'
        description: Employee bank account details params
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmploymentDetailsOnlyResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - OAuth2Assertion:
        - bank_account:write
        - employments
        - all:write
      summary: Update employee bank account
      tags:
      - Employments
  /v2/employments/{employment_id}/engagement-agreement-details:
    get:
      callbacks: {}
      deprecated: false
      description: 'Returns the engagement agreement details for an employment.


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |

        '
      operationId: get_v2_employments_employment_id_engagement-agreement-details
      parameters:
      - description: Employment ID
        example: 93t3j-employment-id-9suej43
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmploymentEngagementAgreementDetailsResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - employment:read
        - employment:write
        - employments
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - employment:read
        - employment:write
        - employments
        - all:write
        - all:read
      summary: Get engagement agreement details
      tags:
      - Employments
    post:
      callbacks: {}
      deprecated: false
      description: 'Creates or updates the engagement agreement details for an employment.


        This endpoint requires country-specific data. The exact required fields will vary depending on

        which country the employment is in. To see the list of parameters for each country, see the

        **Show form schema** endpoint under the [Countries](#tag/Countries) category.


        Please note that compliance requirements for each country are subject to change according to local laws.

        Using Remote''s [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) is recommended

        to avoid compliance issues and to have the latest version of a country''s requirements.




        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employments (`employments`) | - | Manage employments (`employment:write`) |

        '
      operationId: post_v2_employments_employment_id_engagement-agreement-details
      parameters:
      - description: Employment ID
        example: 93t3j-employment-id-9suej43
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmploymentEngagementAgreementDetailsParams'
        description: Employment engagement agreement details params
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - employment:write
        - employments
        - all:write
      summary: Upsert engagement agreement details
      tags:
      - Employments
  /v1/employee/documents/{id}:
    get:
      callbacks: {}
      deprecated: false
      description: '## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage employment documents (`employment_documents`) | View documents (`document:read`) | Manage documents (`document:write`) |

        '
      operationId: get_v1_employee_documents_id
      parameters:
      - description: Document ID
        example: 93t3j-file-id-9suej43
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadDocumentResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            a

# --- truncated at 32 KB (437 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/remote/refs/heads/main/openapi/remote-employments-api-openapi.yml