Remote Employment Contracts API

The Employment Contracts API from Remote — 3 operation(s) for employment contracts.

OpenAPI Specification

remote-employment-contracts-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Remote Address Details Employment Contracts API
  version: 0.1.0
servers:
- url: https://gateway.remote.com/
  variables: {}
- url: https://gateway.remote-sandbox.com/
  variables: {}
security:
- OAuth2: []
tags:
- name: Employment Contracts
paths:
  /v1/employments/{employment_id}/contract-documents:
    get:
      callbacks: {}
      deprecated: false
      description: 'Only contractor employment types are supported. Lists contract documents for a specific employment with pagination, filtering by status, and sorted by updated_at descending (latest first).


        ## 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_employments_employment_id_contract-documents
      parameters:
      - description: Employment ID
        example: 1a716003-ae89-4810-aa00-25df6e799162
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      - description: Filter by contract document statuses
        example:
        - finished
        - awaiting_signatures
        in: query
        name: statuses
        required: false
        schema:
          items:
            $ref: '#/components/schemas/ContractorContractDocumentStatus'
          type: array
      - description: Exclude contract documents with specific statuses
        example:
        - draft
        in: query
        name: except_statuses
        required: false
        schema:
          items:
            $ref: '#/components/schemas/ContractorContractDocumentStatus'
          type: array
      - 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/IndexContractDocumentsResponse'
          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:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - document:read
        - document:write
        - employment_documents
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - document:read
        - document:write
        - employment_documents
        - all:write
        - all:read
      summary: List contract documents for an employment
      tags:
      - Employment Contracts
  /v1/employment-contracts/{employment_id}/pending-changes:
    get:
      callbacks: {}
      deprecated: false
      description: 'Get all the pending changes (waiting for aproval or signature) for the employment contract.


        ## Scopes


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

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

        | Manage employments (`employments`) | View contracts (`contract:read`) | - |

        '
      operationId: get_v1_employment-contracts_employment_id_pending-changes
      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: 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/EmploymentContractPendingChangesResponse'
          description: Success
        '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
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - contract:read
        - employments
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - contract:read
        - employments
        - all:write
        - all:read
      summary: Get employment contract pending changes
      tags:
      - Employment Contracts
  /v1/employment-contracts:
    get:
      callbacks: {}
      deprecated: false
      description: 'Get the employment contract history for a given employment. If `only_active` is true, it will return only the active or last active contract.


        ## Scopes


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

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

        | Manage employments (`employments`) | View contracts (`contract:read`) | - |

        '
      operationId: get_v1_employment-contracts
      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: Employment ID
        example: 93t3j-employment_id-9suej43
        in: query
        name: employment_id
        required: true
        schema:
          type: string
      - description: Only Active
        example: 'false'
        in: query
        name: only_active
        required: false
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEmploymentContractResponse'
          description: Success
        '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
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - contract:read
        - employments
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - contract:read
        - employments
        - all:write
        - all:read
      summary: List Employment Contract.
      tags:
      - Employment Contracts
components:
  schemas:
    ParameterError:
      example:
        code: invalid_param
        message: Invalid parameter
        param: employment_id
      properties:
        code:
          description: An error code that describes the nature of the error.
          type: string
        message:
          description: A developer friendly error message that gives details on what the error was and how it may be remedied.
          type: string
        param:
          description: The parameter that lead to the error message.
          type: string
      required:
      - code
      - message
      - param
      title: ParameterError
      type: object
    IndexContractDocuments:
      additionalProperties: false
      description: Paginated list of contract documents
      example:
        contract_documents:
        - id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
          inserted_at: '2024-01-15T10:30:00Z'
          name: Contract Agreement.pdf
          signatories:
          - email: john@example.com
            name: John Doe
            signed_at: '2024-01-15T10:30:00Z'
            status: signed
            type: employee
            user_id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
          status: finished
          type: contractor_services_agreement
          updated_at: '2024-01-16T14:20:00Z'
        current_page: 1
        total_count: 1
        total_pages: 1
      properties:
        contract_documents:
          description: Array of contract documents
          items:
            $ref: '#/components/schemas/ContractDocumentItem'
          type: array
        current_page:
          description: Current page number
          minimum: 1
          type: integer
        total_count:
          description: Total number of contract documents
          minimum: 0
          type: integer
        total_pages:
          description: Total number of pages
          minimum: 0
          type: integer
      required:
      - contract_documents
      - current_page
      - total_pages
      - total_count
      title: IndexContractDocuments
      type: object
    EmploymentContract:
      example:
        activated_at: '2021-07-15T18:18:17Z'
        amendment_contract_id: e31adae1-contract-id-af5fba7dd803
        compensation:
          amount: 33000
          currency_code: CAD
          wage_type: salary
        contract_details: {}
        contract_id: 20a72f86-contract-id-9e4942a902ff
        country:
          alpha_2_code: PT
          code: PRT
          contractor_products_available:
          - standard
          - plus
          - cor
          country_subdivisions:
          - code: PT-06
            name: Coimbra
            subdivision_type: District
          - code: PT-11
            name: Lisboa
            subdivision_type: District
          employment_agreement_preview_available: true
          eor_onboarding: true
          locked_benefits: after_first_hire
          name: Portugal
          region: Europe
          subregion: Southern Europe
          supported_json_schemas:
          - additional_documents
          - address_details
          - administrative_details
          - employment-basic-information
          - bank_account_details
          - contract_details
          - emergency_contact
        effective_at: '2021-07-15T18:18:17Z'
        job_title: Engineer
        status: active
      properties:
        activated_at:
          $ref: '#/components/schemas/DateTimeIso8601'
        amendment_contract_id:
          description: The id of the employment contract that was amended by this employment contract, if any.
          nullable: true
          type: string
        compensation:
          $ref: '#/components/schemas/Compensation'
        contract_details:
          description: Contract information. Its properties may vary depending on the country.
          type: object
        contract_id:
          description: The unique identifier (UUID) of this contract.
          type: string
        country:
          $ref: '#/components/schemas/Country'
        effective_at:
          $ref: '#/components/schemas/DateTimeIso8601'
        job_title:
          description: The job title as specified in this contract.
          type: string
        status:
          $ref: '#/components/schemas/EmploymentContractStatus'
      required:
      - contract_id
      - amendment_contract_id
      - country
      - contract_details
      - compensation
      - job_title
      - status
      - activated_at
      - effective_at
      title: EmploymentContract
      type: object
    IndexContractDocumentsResponse:
      additionalProperties: false
      description: Paginated list of contract documents
      example:
        data:
          contract_documents:
          - id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
            inserted_at: '2024-01-15T10:30:00Z'
            name: Contract Agreement.pdf
            signatories:
            - email: john@example.com
              name: John Doe
              signed_at: '2024-01-15T10:30:00Z'
              status: signed
              type: employee
              user_id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
            status: finished
            type: contractor_services_agreement
            updated_at: '2024-01-16T14:20:00Z'
          current_page: 1
          total_count: 1
          total_pages: 1
      properties:
        data:
          $ref: '#/components/schemas/IndexContractDocuments'
      required:
      - data
      title: IndexContractDocumentsResponse
      type: object
    EmploymentContractStatus:
      description: The status of the employment contract.
      enum:
      - active
      - inactive
      - pending
      example: active
      title: EmploymentContractStatus
      type: string
    SignatoryStatus:
      description: Current signing status of this signatory
      enum:
      - pending
      - signed
      - unassigned
      example: pending
      title: SignatoryStatus
      type: string
    UnauthorizedResponse:
      description: Returned when the request does not include valid authentication credentials. Ensure you are passing a valid OAuth2 access token or API token in the Authorization header.
      example:
        message: Unauthorized
      properties:
        message:
          pattern: Unauthorized
          type: string
      required:
      - message
      title: UnauthorizedResponse
      type: object
    UnprocessableEntityResponse:
      anyOf:
      - properties:
          errors:
            type: object
        required:
        - errors
        type: object
      - properties:
          message:
            oneOf:
            - type: string
            - $ref: '#/components/schemas/ParameterError'
            - items:
                $ref: '#/components/schemas/ParameterError'
              title: ParameterErrors
              type: array
            - $ref: '#/components/schemas/ActionError'
            - items:
                $ref: '#/components/schemas/ActionError'
              title: ActionErrors
              type: array
        required:
        - message
        type: object
      example:
        errors:
          some_field:
          - is invalid
      title: UnprocessableEntityResponse
      type: object
    Country:
      description: A supported country on Remote
      example:
        alpha_2_code: PT
        code: PRT
        contractor_products_available:
        - standard
        - plus
        - cor
        country_subdivisions:
        - code: PT-06
          name: Coimbra
          subdivision_type: District
        - code: PT-11
          name: Lisboa
          subdivision_type: District
        employment_agreement_preview_available: true
        eor_onboarding: true
        locked_benefits: after_first_hire
        name: Portugal
        region: Europe
        subregion: Southern Europe
        supported_json_schemas:
        - additional_documents
        - address_details
        - administrative_details
        - employment-basic-information
        - bank_account_details
        - contract_details
        - emergency_contact
      properties:
        alpha_2_code:
          description: The ISO 3166-1 alpha-2 country code (e.g., "PT").
          type: string
        code:
          description: The ISO 3166-1 alpha-3 country code (e.g., "PRT"). This is the primary code used across the Remote API.
          type: string
        contractor_products_available:
          description: Contractor product names available for this country
          items:
            enum:
            - standard
            - plus
            - cor
            type: string
          type: array
        country_subdivisions:
          description: Administrative subdivisions of the country (e.g., states, provinces, districts). Null if the country has no subdivisions relevant to Remote's services.
          items:
            $ref: '#/components/schemas/CountrySubdivision'
          nullable: true
          type: array
        employment_agreement_preview_available:
          description: Whether an Employment Agreement preview is available for this country.
          type: boolean
        eor_onboarding:
          description: Whether EOR (Employer of Record) onboarding is available in this country.
          type: boolean
        locked_benefits:
          description: When benefit plan selections become locked for this country (e.g., "after_first_hire" means benefits cannot be changed after the first employee is hired).
          type: string
        name:
          description: The country's full English name.
          type: string
        region:
          description: The geographic region the country belongs to (e.g., "Europe", "Asia", "Americas").
          type: string
        subregion:
          description: The geographic subregion (e.g., "Southern Europe", "Southeast Asia"). Null for some countries.
          nullable: true
          type: string
        supported_json_schemas:
          description: The list of JSON schema form names available for this country (e.g., "address_details", "contract_details"). Use these with the Show form schema endpoint to get country-specific field requirements.
          items:
            type: string
          type: array
      required:
      - alpha_2_code
      - code
      - name
      title: Country
      type: object
    EmploymentContractPendingChangesResponse:
      example:
        data:
          pending_changes:
          - changes:
              contract.job_title:
                current: Senior Engineer
                previous: Engineer
            contract_id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
            effective_at: '2021-07-15T18:18:17Z'
      properties:
        data:
          additionalProperties: false
          properties:
            pending_changes:
              items:
                $ref: '#/components/schemas/ContractPendingChanges'
              type: array
          required:
          - pending_changes
          type: object
      required:
      - data
      title: EmploymentContractPendingChangesResponse
      type: object
    ActionError:
      properties:
        action:
          description: The action that lead to the error message.
          type: string
        code:
          description: An error code that describes the nature of the error.
          type: string
        message:
          description: A developer friendly error message that gives details on what the error was and how it may be remedied.
          type: string
      required:
      - code
      - message
      - action
      title: ActionError
      type: object
    ContractorContractDocumentStatus:
      description: 'The signing status of a contract document.


        - `draft`: The document is being prepared and has not been sent for signing.

        - `awaiting_signatures`: The document has been sent and is waiting for one or more parties to sign.

        - `finished`: All required signatures have been collected and the contract is fully executed.

        '
      enum:
      - draft
      - awaiting_signatures
      - finished
      example: draft
      title: ContractorContractDocumentStatus
      type: string
    SignatoryType:
      description: The role of this signatory in the contract signing process
      enum:
      - company
      - employee
      - admin
      - external
      - unknown
      example: company
      title: SignatoryType
      type: string
    ContractDocumentItem:
      additionalProperties: false
      description: Contract document item in list response
      example:
        id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
        inserted_at: '2024-01-15T10:30:00Z'
        name: Contract Agreement.pdf
        signatories:
        - email: john@example.com
          name: John Doe
          signed_at: '2024-01-15T10:30:00Z'
          status: signed
          type: employee
          user_id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
        status: finished
        type: contractor_services_agreement
        updated_at: '2024-01-16T14:20:00Z'
      properties:
        id:
          description: Contract document slug/ID
          type: string
        inserted_at:
          description: Created timestamp
          type: string
        name:
          description: Contract document name
          nullable: true
          type: string
        signatories:
          description: List of signatories for this contract document
          items:
            $ref: '#/components/schemas/ListSignatory'
          type: array
        status:
          $ref: '#/components/schemas/ContractorContractDocumentStatus'
        type:
          description: Contract document type
          type: string
        updated_at:
          description: Last updated timestamp
          nullable: true
          type: string
      required:
      - id
      - name
      - status
      - type
      - inserted_at
      - updated_at
      - signatories
      title: ContractDocumentItem
      type: object
    ForbiddenResponse:
      description: Returned when the authenticated user or token does not have permission to perform the requested action. Check that the token has the required OAuth2 scopes and that the user has the necessary role.
      example:
        message: Forbidden
      properties:
        message:
          pattern: Forbidden
          type: string
      required:
      - message
      title: ForbiddenResponse
      type: object
    NotFoundResponse:
      description: Returned when the requested resource does not exist or is not accessible with the current authentication credentials.
      example:
        message: '{resource} not found'
      properties:
        message:
          description: A message indicating which resource was not found.
          pattern: Not Found
          type: string
      title: NotFoundResponse
      type: object
    CountrySubdivision:
      description: A subdivision of a supported country on Remote
      example:
        code: PT-11
        name: Lisboa
        subdivision_type: District
      properties:
        code:
          description: The ISO 3166-2 subdivision code (e.g., "PT-11" for Lisboa).
          type: string
        name:
          description: The subdivision's name (e.g., "Lisboa", "California").
          type: string
        subdivision_type:
          description: The type of subdivision (e.g., "District", "State", "Province").
          type: string
      required:
      - name
      title: CountrySubdivision
      type: object
    DateTimeIso8601:
      description: 'UTC date time in [ISO 8601][] format.


        [ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601

        '
      example: '2021-07-15T18:18:17Z'
      format: date-time
      title: DateTimeIso8601
      type: string
    ContractPendingChanges:
      additionalProperties: false
      example:
        changes:
          contract.job_title:
            current: Senior Engineer
            previous: Engineer
        contract_id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
        effective_at: '2021-07-15T18:18:17Z'
      properties:
        changes:
          description: 'Describes all the changes requested for the contract and contract details with all their previous and current values.

            Its properties may vary depending on the country.

            '
          type: object
        contract_id:
          type: string
        effective_at:
          $ref: '#/components/schemas/DateTimeIso8601'
        pending_action_for_activation:
          description: 'Indicates if the contract is pending an action to be activated when effective_at is reached.

            If true, it means that an action needs to be performed, either a verification by Remote or a signature from the

            employer or the employee. If false, then the contract will be active when effective_at is reached.

            '
          type: boolean
      required:
      - effective_at
      - contract_id
      - changes
      title: ContractPendingChanges
      type: object
    ListEmploymentContractResponse:
      example:
        data:
          employment_contracts:
          - activated_at: '2021-07-15T18:18:17Z'
            amendment_contract_id: e31adae1-contract-id-af5fba7dd803
            compensation:
              amount: 33000
              currency_code: CAD
              wage_type: salary
            contract_details: {}
            contract_id: 20a72f86-contract-id-9e4942a902ff
            country:
              alpha_2_code: PT
              code: PRT
              contractor_products_available:
              - standard
              - plus
              - cor
              country_subdivisions:
              - code: PT-06
                name: Coimbra
                subdivision_type: District
              - code: PT-11
                name: Lisboa
                subdivision_type: District
              employment_agreement_preview_available: true
              eor_onboarding: true
              locked_benefits: after_first_hire
              name: Portugal
              region: Europe
              subregion: Southern Europe
              supported_json_schemas:
              - additional_documents
              - address_details
              - administrative_details
              - employment-basic-information
              - bank_account_details
              - contract_details
              - emergency_contact
            effective_at: '2021-07-15T18:18:17Z'
            job_title: Engineer
            status: active
      properties:
        data:
          additionalProperties: false
          properties:
            employment_contracts:
              items:
                $ref: '#/components/schemas/EmploymentContract'
              type: array
          required:
          - employment_contracts
          type: object
      required:
      - data
      title: ListEmploymentContractResponse
      type: object
    ListSignatory:
      additionalProperties: false
      description: A signatory on a contract document. For company and employee signatories, `user_id` is provided. For other signatory types, `user_id` is null.
      example:
        email: john@example.com
        name: John Doe
        signed_at: '2024-01-15T10:30:00Z'
        status: signed
        type: employee
        user_id: 0073fcb5-b669-4e4a-b963-2a47744e75a1
      properties:
        email:
          description: Email address of the signatory
          nullable: true
          type: string
        name:
          description: Full name of the signatory
          nullable: true
          type: string
        signature_method:
          description: Signing method used by this signatory
          enum:
          - in_platform
          - docusign
          type: string
        signature_type:
          description: Legal signature level applied when signing
          enum:
          - standard
          - qes
          - aes
          - ses
          type: string
        signed_at:
          description: Timestamp when the signatory signed the document, null if not yet signed
          format: date-time
          nullable: true
          type: string
        status:
          $ref: '#/components/schemas/SignatoryStatus'
        type:
          $ref: '#/components/schemas/SignatoryType'
        user_id:
          description: User identifier for internal signatories, null for external signatories
          nullable: true
          type: string
      required:
      - type
      - status
      title: ListSignatory
      type: object
    Compensation:
      example:
        amount: 33000
        currency_code: CAD
        wage_type: salary
      properties:
        amount:
          description: The compensation amount in cents. Null if compensation is not yet set.
          nullable: true
          type: integer
        currency_code:
          description: The ISO 4217 currency code for the compensation. Null if not yet set.
          nullable: true
          type: string
        wage_type:
          description: Whether the employee is paid hourly or on a salary basis. Null if not yet set.
          enum:
          - hourly
          - salary
          nullable: true
          type: string
      required:
      - amount
      - currency_code
      - wage_type
      title: Compensation
      type: object
  securitySchemes:
    BasicAuth:
      description: 'Authenticate using the basic authentication for partners.


        Use the CLIENT_ID as login and CLIENT_SECRET as password.

        '
      scheme: basic
      type: http
    ClientToken:
      description: 'Authenticate a partner using only the the provided `client_token`.


        This authentication method only allows accessing marketing endpoints.

        '
      scheme: bearer
      type: http
    CustomerAPIToken:
      description: 'Authenticate using API Key generated by the customer in their Integration Settings page.

        '
      scheme: bearer
      type: http
    OAuth2:
      description: 'Authenticate using OAuth 2.0 protocol.

        '
      flows:
        authorizationCode:
          authorizationUrl: /auth/oauth2/authorize
          scopes:
            company_department:read: company_department:read
            webhook:write: webhook:write
            magic_link:write: magic_link:write
            offboarding:write: offboarding:write
            custom_field:write: custom_field:write
            address:write: address:write
            expense:read: expense:read
            employment:write: employment:write
            identity_verification:write: identity_verification:write
            timesheet:write: timesheet:write
            travel_letter:write: travel_letter:write
            incentive:read: incentive:read
            personal_detail:read: personal_detail:read
            invoices:write: invoices:write
            work_authorization:write: work_authorization:write
            timeoff:write: timeoff:write
            company_structure:read: company_structure:read
            benefit_renewal:write: benefit_renewal:write
            benefit_offer:read: benefit_offer:read
            employment_documents: employment_documents
            onboarding:write: onboarding:write
            payroll_run:read: payroll_run:read
            risk_reserve:write: risk_reserve:write
            invoices: invoices
            resignation_letter:read: resignation_letter:read
            resignation:read: resignation:read
            convert_currency:read: convert_currency:read
            employments: employments
            probation_document:read: probation_document:read
            company_admin: company_admin
            payroll: payroll
            help_center_article:read: help_center_article:read
            timesheet:read: timesheet:read
            custom_field_value:write: custom_field_value:write
            company_currencies:read: company_currencies:read
            payslip:re

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