> ## Documentation Index
> Fetch the complete documentation index at: https://developers.gonitro.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Updates an absence period by id

> Updates an absence period by its identifier. The request and response shapes
match the create-absence-period operation, with each existing substitute
identified by its `Id`.



## OpenAPI

````yaml /nsev/api-reference/openapi.yaml put /absenceperiods/{absencePeriodId}
openapi: 3.0.0
info:
  title: NSEV WebPortal API
  version: 4.0.0
  contact:
    name: NSEV Support Team
    url: https://connectivegroup.my.site.com/s/contactsupport?language=en_US
  description: >
    **Nitro Sign Enterprise Verified (NSEV) WebPortal API Version 4**


    A comprehensive digital signing API that enables secure document signing
    workflows.

    This API provides endpoints for managing packages, documents, elements,
    stakeholders, 

    and signing processes within the NSEV platform.


    ## Authentication


    This API supports multiple authentication methods:


    ### Basic Authentication

    Traditional HTTP Basic Authentication using username and password.


    ### OAuth 2.0


    **Client Credentials Flow (Machine-to-Machine)**

    - Full API access including administrative endpoints

    - Ideal for server-to-server integrations


    **Authorization Code Flow (User-based)**

    - Limited API access excluding administrative endpoints

    - Ideal for user-facing applications

    - Supports delegated user access scenarios


    ## API Variants


    This specification is available in two variants:

    - **Full API**: Complete API with all endpoints (BasicAuth + OAuth2 M2M)

    - **User API**: Limited API excluding admin endpoints (OAuth2 user-based
    only)


    Administrative endpoints (`/poisonqueue`, `/absenceperiods`, `/auditproofs`)
    are 

    restricted to machine-to-machine authentication only.
        
    ## Versioning


    This API follows semantic versioning principles. Major version changes may
    introduce

    breaking changes, while minor and patch versions maintain backwards
    compatibility.
servers:
  - url: '{baseUrl}/esig/webportalapi/v4'
    variables:
      baseUrl:
        default: https://your-tenant.sign.gonitro.com
        description: >-
          Your tenant-specific base URL, including scheme and host (e.g.
          https://acme.sign.gonitro.com). Each NSEV customer has a unique URL.
          Replace this with yours before sending a request. The esig path
          segment is required - the Web Application Firewall routes requests on
          it.
security:
  - basicAuth: []
  - bearerAuth: []
tags:
  - name: Configuration
    description: |
      Endpoints for retrieving system configuration settings,
      contact groups, templates and signing methods.
  - name: Packages
    description: |
      Core endpoints for creating, managing, and tracking packages
      throughout their lifecycle.
  - name: Documents
    description: |
      Endpoints for adding, removing, and managing documents within packages.
      Handles document upload, processing, and metadata management.
  - name: Elements
    description: |
      Endpoints for managing elements (fields) within documents,
      including signatures and other form elements.
  - name: Stakeholders
    description: |
      Endpoints for managing stakeholders (recipients)
      associated with packages and their roles in the package workflow.
  - name: Actors
    description: |
      Endpoints for managing individual actors within stakeholders,
      including their contact information and role preferences:
      Approver, FormFiller, Signer or Receiver
  - name: Process
    description: |
      Endpoints for managing the package process workflow, including
      process steps, parallel actions, and workflow orchestration.
  - name: AuditTrails
    description: |
      Modern endpoints for retrieving comprehensive audit trails as signed PDFs,
      verifying the integrity of audit trail data and retrieving audit events.
  - name: BulkActions
    description: |
      Endpoints for performing and managing bulk actions on multiple packages.
  - name: Users
    description: |
      Endpoints for managing user accounts, including user invitations.
  - name: AbsencePeriods
    description: |
      Administrative endpoints for managing user absence periods and
      delegation settings during out-of-office scenarios.

      **Access Level**: Machine-to-machine only (administrative access required)
paths:
  /absenceperiods/{absencePeriodId}:
    parameters:
      - $ref: '#/components/parameters/absencePeriodIdPathParam'
    put:
      tags:
        - AbsencePeriods
      summary: Updates an absence period by id
      description: >-
        Updates an absence period by its identifier. The request and response
        shapes

        match the create-absence-period operation, with each existing substitute

        identified by its `Id`.
      requestBody:
        description: Parameters for updating an absence period
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAbsencePeriod'
            examples:
              update:
                summary: Update an absence period
                value:
                  User: ada.rodriguez@comp.com
                  StartDate: 2024-12-20T08:00:00+0200
                  EndDate: 2025-01-01T08:00:00+0200
                  Substitutes:
                    - Id: 1fdbad81-75e5-4cc8-b113-39255fa119d7
                      Type: person
                      ActionTypes:
                        - signer
                        - receiver
                      AllowedToReassign: true
                      Language: en
                      Title: Ms.
                      FirstName: Jane
                      LastName: Doe
                      EmailAddress: jane.doe@comp.com
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbsencePeriodResponse'
              examples:
                updated:
                  summary: OK
                  value:
                    Id: b459d74c-1f90-4d63-9f4a-6de9cead8c5e
                    User: ada.rodriguez@comp.com
                    StartDate: 2024-12-20T08:00:00+0200
                    EndDate: 2025-01-01T08:00:00+0200
                    Substitutes:
                      - Id: 1fdbad81-75e5-4cc8-b113-39255fa119d7
                        Type: person
                        ActionTypes:
                          - signer
                          - receiver
                        AllowedToReassign: true
                        Language: en
                        LastName: Doe
                        EmailAddress: jane.doe@comp.com
        '400':
          $ref: '#/components/responses/ValidationFailed'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: An exception has occured
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: '#/components/schemas/UserNotFoundError'
                    - $ref: '#/components/schemas/AbsencePeriodNotFoundError'
                    - $ref: '#/components/schemas/SubstituteNotFoundError'
                    - $ref: '#/components/schemas/ContactGroupNotFoundError'
              examples:
                not-found:
                  summary: An exception has occurred
                  value:
                    - ErrorCode: AbsencePeriod.NotFound
                      ErrorMessage: No absence period found with the provided id.
        '409':
          description: >-
            The request conflicts with existing information and/or business
            rules
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: '#/components/schemas/AbsencePeriodOverlappingError'
                    - $ref: '#/components/schemas/DuplicateActionTypeError'
                    - $ref: '#/components/schemas/SubstituteTypeChangedError'
              examples:
                conflict:
                  summary: >-
                    The request conflicts with existing information and/or
                    business rules
                  value:
                    - ErrorCode: AbsencePeriod.OverlapsWithExistingAbsencePeriod
                      ErrorMessage: >-
                        The provided absence period overlaps with an existing
                        absence period.
components:
  parameters:
    absencePeriodIdPathParam:
      name: absencePeriodId
      in: path
      required: true
      description: An absence period id
      schema:
        allOf:
          - $ref: '#/components/schemas/Guid'
          - type: string
        description: This absence period's unique identifier
  schemas:
    UpdateAbsencePeriod:
      type: object
      required:
        - Id
      allOf:
        - $ref: '#/components/schemas/AbsencePeriodBase'
        - $ref: '#/components/schemas/AbsencePeriod.Id'
        - type: object
          properties:
            Substitutes:
              type: array
              items:
                $ref: '#/components/schemas/UpdateSubstitute'
              description: The substitutes assigned for this absence period
      example:
        User: ada.rodriguez@comp.com
        StartDate: 2024-12-20T08:00:00+0200
        EndDate: 2025-01-01T08:00:00+0200
        Substitutes:
          - Id: 1FDBAD81-75E5-4CC8-B113-39255FA119D7
            Type: person
            ActionTypes:
              - signer
              - receiver
            AllowedToReassign: true
            Language: en
            Title: Ms.
            FirstName: Jane
            LastName: Doe
            EmailAddress: jane.doe@comp.com
            PhoneNumber: +1 202-918-2132
            BirthDate: '1953-03-13'
            ExternalReference: Client_XYZ_Account_Manager_1
            AdditionalProperties:
              BeId: '12345678900'
              BeLawyer: b459d74c-1f90-4d63-9f4a-6de9cead8c5e
          - Type: contactgroup
            ActionTypes:
              - formFiller
            AllowedToReassign: false
            ContactGroupCode: '00005'
          - Type: group
            ActionTypes:
              - approver
            AllowedToReassign: false
            GroupName: C-Level team
            Members:
              - Language: en
                Title: Ms.
                FirstName: Isla
                LastName: Giles
                EmailAddress: isla.giles@comp.com
                PhoneNumber: '+324876752'
                BirthDate: '2001-03-13'
                AdditionalProperties:
                  BeLawyer: 12f5974c-1f90-4d63-9f4a-6de9cead8c5e
              - Language: en
                Title: Mr.
                FirstName: Devon
                LastName: Barnett
                EmailAddress: devon.barnett@comp.com
                PhoneNumber: '+324876752'
                BirthDate: '1989-03-13'
                AdditionalProperties:
                  BeLawyer: afe1974c-1f90-4d63-9f4a-6de9cead8c5e
    AbsencePeriodResponse:
      type: object
      required:
        - Id
      allOf:
        - $ref: '#/components/schemas/AbsencePeriod.Id'
        - $ref: '#/components/schemas/AbsencePeriodBase'
        - type: object
          properties:
            Substitutes:
              type: array
              items:
                $ref: '#/components/schemas/SubstituteResponse'
              description: The substitutes assigned for this absence period
      example:
        Id: 9EB8D3B2-2FF5-495D-BCDC-0A054B087B80
        User: ada.rodriguez@comp.com
        StartDate: 2024-12-20T08:00:00+0200
        EndDate: 2025-01-01T08:00:00+0200
        Substitutes:
          - Id: B0056F8B-6891-4E48-AF21-01A52DA94B34
            Type: person
            ActionTypes:
              - signer
              - receiver
            AllowedToReassign: true
            Language: en
            Title: Ms.
            FirstName: Jane
            LastName: Doe
            EmailAddress: jane.doe@comp.com
            PhoneNumber: +1 202-918-2132
            BirthDate: '1953-03-13'
            ExternalReference: Client_XYZ_Account_Manager_1
            AdditionalProperties:
              BeId: '12345678900'
              BeLawyer: b459d74c-1f90-4d63-9f4a-6de9cead8c5e
          - Id: B83BFA5F-7300-412E-A781-D99B798FFDC5
            Type: contactgroup
            ActionTypes:
              - formFiller
            AllowedToReassign: false
            ContactGroupCode: '00005'
            GroupName: Musicians
            Members:
              - Language: en
                Title: Sir
                FirstName: Herbie
                LastName: Hancock
                EmailAddress: herbie@comp.com
                BirthDate: '1940-04-12'
                AdditionalProperties:
                  BeId: '12345678912'
              - Language: en
                Title: Mr.
                FirstName: Wayne
                LastName: Shorter
                EmailAddress: wayne@comp.com
                BirthDate: '1933-08-25'
            ExternalReference: string
          - Id: 1FDBAD81-75E5-4CC8-B113-39255FA119D7
            Type: group
            ActionTypes:
              - approver
            AllowedToReassign: false
            GroupName: C-Level team
            Members:
              - Language: en
                Title: Ms.
                FirstName: Isla
                LastName: Giles
                EmailAddress: isla.giles@comp.com
                PhoneNumber: '+324876752'
                BirthDate: '2001-03-13'
                AdditionalProperties:
                  BeLawyer: 12f5974c-1f90-4d63-9f4a-6de9cead8c5e
              - Language: en
                Title: Mr.
                FirstName: Devon
                LastName: Barnett
                EmailAddress: devon.barnett@comp.com
                PhoneNumber: '+324876752'
                BirthDate: '1989-03-13'
                AdditionalProperties:
                  BeLawyer: afe1974c-1f90-4d63-9f4a-6de9cead8c5e
    UserNotFoundError:
      title: User not found
      allOf:
        - $ref: '#/components/schemas/NotFoundError'
        - description: User could not be found
      example:
        ErrorCode: User.NotFound
        ErrorMessage: No user found with email address [hello@world.test].
    AbsencePeriodNotFoundError:
      title: Absence period not found
      allOf:
        - $ref: '#/components/schemas/NotFoundError'
        - description: Absence period could not be found
      example:
        ErrorCode: AbsencePeriod.NotFound
        ErrorMessage: >-
          Absence period with Id '00000000-0000-0000-0000-000000000000' could
          not be found
    SubstituteNotFoundError:
      title: Substitute not found
      allOf:
        - $ref: '#/components/schemas/NotFoundError'
        - description: Substitute could not be found
      example:
        ErrorCode: Substitute.NotFound
        ErrorMessage: >-
          Substitute with Id '00000000-0000-0000-0000-000000000000' could not be
          found
    ContactGroupNotFoundError:
      title: Contact group not found
      allOf:
        - $ref: '#/components/schemas/NotFoundError'
        - description: Contact group could not be found
      example:
        ErrorCode: ContactGroup.NotFound:00123
        ErrorMessage: No contact group with code 00123 could be found.
    AbsencePeriodOverlappingError:
      title: Absence period overlapping
      allOf:
        - $ref: '#/components/schemas/Error'
        - description: Absence period overlaps with existing absence period
    DuplicateActionTypeError:
      title: Duplicate action type
      allOf:
        - $ref: '#/components/schemas/Error'
        - description: >-
            The absence period contains more than one substitute for one action
            type
    SubstituteTypeChangedError:
      title: Substitute type changed
      allOf:
        - $ref: '#/components/schemas/Error'
        - description: A substitute's type was attempted to change
    Guid:
      title: GUID
      type: string
      description: A globally unique identifier
      format: guid
      example: 00000000-0000-0000-0000-000000000000
    AbsencePeriodBase:
      type: object
      required:
        - User
        - StartDate
      properties:
        User:
          allOf:
            - $ref: '#/components/schemas/EmailAddress'
            - description: The user's email address
        StartDate:
          type: string
          format: date-time
          description: The start of this absence period
        EndDate:
          type: string
          format: date-time
          description: The end of this absence period
    AbsencePeriod.Id:
      type: object
      description: An absence period id
      properties:
        Id:
          allOf:
            - $ref: '#/components/schemas/Guid'
            - description: This absence period's unique identifier
    UpdateSubstitute:
      oneOf:
        - $ref: '#/components/schemas/UpdatePersonSubstitute'
        - $ref: '#/components/schemas/UpdateGroupSubstitute'
        - $ref: '#/components/schemas/UpdateContactGroupSubstitute'
      discriminator:
        propertyName: Type
        mapping:
          person:
            $ref: '#/components/schemas/UpdatePersonSubstitute'
          group:
            $ref: '#/components/schemas/UpdateGroupSubstitute'
          contactgroup:
            $ref: '#/components/schemas/UpdateContactGroupSubstitute'
    SubstituteResponse:
      oneOf:
        - $ref: '#/components/schemas/PersonSubstituteResponse'
        - $ref: '#/components/schemas/GroupSubstituteResponse'
        - $ref: '#/components/schemas/ContactGroupSubstituteResponse'
      discriminator:
        propertyName: Type
        mapping:
          person:
            $ref: '#/components/schemas/PersonSubstituteResponse'
          group:
            $ref: '#/components/schemas/GroupSubstituteResponse'
          contactgroup:
            $ref: '#/components/schemas/ContactGroupSubstituteResponse'
    ValidationError:
      title: Validation error
      allOf:
        - $ref: '#/components/schemas/Error'
        - description: Request failed validation
          example:
            ErrorCode: Name.MinimumLength:6
            ErrorMessage: The minimum length for a name is 6
    NotFoundError:
      title: Not found
      allOf:
        - $ref: '#/components/schemas/Error'
        - description: The resource could not be found
      example:
        ErrorCode: Document.NotFound:00000000-0000-0000-0000-000000000000
        ErrorMessage: >-
          The document with id '00000000-0000-0000-0000-000000000000' could not
          be found
    Error:
      title: Error
      type: object
      description: Something that went wrong
      example:
        ErrorCode: Something.WentWrong
        ErrorMessage: Something went wrong
      properties:
        ErrorCode:
          type: string
          description: >-
            An error code of something that went wrong, in the form of
            'Subject.Error:value'
        ErrorMessage:
          type: string
          description: A human-readable explanation of what went wrong
    EmailAddress:
      title: Email address
      type: string
      format: email
      example: hello@world.test
    UpdatePersonSubstitute:
      title: Person substitute
      type: object
      allOf:
        - $ref: '#/components/schemas/Substitute.Id'
        - $ref: '#/components/schemas/CreatePersonSubstitute'
    UpdateGroupSubstitute:
      title: Group substitute
      type: object
      allOf:
        - $ref: '#/components/schemas/Substitute.Id'
        - $ref: '#/components/schemas/CreateGroupSubstitute'
    UpdateContactGroupSubstitute:
      title: Contact group substitute
      type: object
      allOf:
        - $ref: '#/components/schemas/Substitute.Id'
        - $ref: '#/components/schemas/CreateContactGroupSubstitute'
    PersonSubstituteResponse:
      title: Person substitute
      type: object
      required:
        - Id
      allOf:
        - $ref: '#/components/schemas/UpdatePersonSubstitute'
    GroupSubstituteResponse:
      title: Group substitute
      type: object
      required:
        - Id
      allOf:
        - $ref: '#/components/schemas/UpdateGroupSubstitute'
    ContactGroupSubstituteResponse:
      title: Contact group substitute
      type: object
      description: >-
        A group of which at most one member can replace a stakeholder to perform
        an action in a package
      required:
        - Id
      allOf:
        - $ref: '#/components/schemas/UpdateContactGroupSubstitute'
        - type: object
          properties:
            GroupName:
              type: string
              maxLength: 128
              description: Name of the substitute group
              example: Finance Team
            Members:
              type: array
              description: Members of the substitute group
              items:
                $ref: '#/components/schemas/Person'
            ExternalReference:
              allOf:
                - $ref: '#/components/schemas/ExternalReference'
                - example: Finance_Team_Area_1
    Substitute.Id:
      type: object
      description: A substitute id
      properties:
        Id:
          allOf:
            - $ref: '#/components/schemas/Guid'
            - description: >-
                This substitute's unique identifier (Note: when this property is
                omitted in a request, a new substitute will be created)
    CreatePersonSubstitute:
      title: Person substitute
      type: object
      description: >-
        A person that can replace a stakeholder to perform an action in a
        package
      required:
        - Type
        - Language
        - LastName
        - EmailAddress
      allOf:
        - $ref: '#/components/schemas/CreateSubstituteBase'
        - $ref: '#/components/schemas/Person'
        - type: object
          properties:
            Type:
              enum:
                - person
    CreateGroupSubstitute:
      title: Group substitute
      type: object
      description: >-
        A group of which at most one member can replace a stakeholder to perform
        an action in a package
      required:
        - Type
        - GroupName
        - Members
      allOf:
        - $ref: '#/components/schemas/CreateSubstituteBase'
        - type: object
          properties:
            GroupName:
              type: string
              maxLength: 128
              description: Name of the substitute group
              example: Finance Team
            Members:
              type: array
              description: Members of the substitute group
              items:
                $ref: '#/components/schemas/Person'
            ExternalReference:
              allOf:
                - $ref: '#/components/schemas/ExternalReference'
                - example: Finance_Team_Area_1
            Type:
              enum:
                - group
    CreateContactGroupSubstitute:
      title: Contact group substitute
      type: object
      description: >-
        A group of which at most one member can replace a stakeholder to perform
        an action in a package
      required:
        - Type
        - ContactGroupCode
      allOf:
        - $ref: '#/components/schemas/CreateSubstituteBase'
        - type: object
          properties:
            ContactGroupCode:
              $ref: '#/components/schemas/ContactGroupCode'
            Type:
              enum:
                - contactgroup
    Person:
      type: object
      description: A person
      required:
        - Language
        - LastName
        - EmailAddress
      properties:
        Language:
          allOf:
            - $ref: '#/components/schemas/Language'
            - description: The person's language
        Title:
          type: string
          maxLength: 100
          description: The person's title
          example: Ms.
        FirstName:
          type: string
          maxLength: 150
          description: The person's first name
          example: Jane
        LastName:
          type: string
          maxLength: 150
          description: The person's last name
          example: Doe
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/EmailAddress'
            - description: The person's email address
        PhoneNumber:
          allOf:
            - $ref: '#/components/schemas/PhoneNumber'
            - description: The person's phone number
            - example: +1 202-918-2132
        BirthDate:
          type: string
          format: date
        ExternalReference:
          allOf:
            - $ref: '#/components/schemas/ExternalReference'
            - description: The person's external reference
            - example: Client_XYZ_Account_Manager
        AdditionalProperties:
          allOf:
            - $ref: '#/components/schemas/AdditionalProperties'
            - description: The person's additional properties
    ExternalReference:
      type: string
      maxLength: 256
      description: >-
        External reference to this resource set by the calling application. NSEV

        does not use this value itself. When filtering packages, this matches
        the

        package-level external reference only, not document or field references.
    CreateSubstituteBase:
      type: object
      description: A person or group that can replace a stakeholder to perform an action
      required:
        - Type
        - ActionTypes
      allOf:
        - type: object
          properties:
            Type:
              type: string
              enum:
                - person
                - group
                - contactgroup
              description: The type of substitute
            ActionTypes:
              type: array
              description: The types of actions this substitute will be able to perform
              items:
                type: string
                enum:
                  - approver
                  - receiver
                  - signer
                  - formFiller
        - $ref: '#/components/schemas/Substitute.AllowedToReassign'
    ContactGroupCode:
      type: string
      description: a portal contact group identifier
      example: 7
    Language:
      type: string
      format: languageCode
      description: A country's 2 letter ISO code (ISO 639-1)
      example: en
    PhoneNumber:
      type: string
      example: +32xxxxxxxxx
      description: >-
        Phone number used to receive an SMS OTP. Always include the country code
        (for

        example +32xxxxxxxxx); use a leading plus sign rather than "00" as the

        international dialing prefix, and never include spaces.
    AdditionalProperties:
      type: object
      description: >-
        Additional stakeholder properties configured in the Contact Properties
        Settings of

        the configuration - any extra stakeholder information the administrator
        requires

        (for example maiden name or nationality). Two properties are configured
        by default

        in every environment: **BeId** (the stakeholder's national security
        number) and

        **BeLawyer** (their lawyer ID). When a mandated signing rule is applied
        to a

        property, that property becomes mandatory and its value is checked
        against the

        data extracted from the signing certificate or returned by the signing
        service; a

        match is required for the stakeholder to be mandated to sign. Use Get
        signing

        methods to see which additional properties are mandatory for each
        signing method.
      additionalProperties:
        type: object
      example:
        BeId: '12345678900'
        BeLawyer: b459d74c-1f90-4d63-9f4a-6de9cead8c5e
    Substitute.AllowedToReassign:
      type: object
      properties:
        AllowedToReassign:
          type: boolean
          description: >-
            Indicates whether the substitute is allowed to reassign the actor to
            another party
  responses:
    ValidationFailed:
      description: Request failed validation
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ValidationError'
    UnAuthorized:
      description: Caller is unauthorized to perform this operation
    Forbidden:
      description: It is forbidden to perform this operation
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Bearer token authentication using JSON Web Tokens (JWT) or opaque
        tokens.


        **Usage**: Send the access token in the Authorization header:

        ```

        Authorization: Bearer <access_token>

        ```

````