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

# Get update

> Get a single update by its id. Only updates on cases can be read; any other update answers 404.

**Required scope:** `read:updates`



## OpenAPI

````yaml GET /v1/{tenantId}/updates/{updateId}
openapi: 3.1.0
info:
  title: Debbie API Docs
  description: >
    The Debbie API is a RESTful interface, allowing you to programmatically

    update, add and access your data in the platform. It provides predictable
    URLs

    for accessing resources, and uses built-in HTTP features to receive commands
    and

    return responses. This makes it easy to communicate with third party
    systems.


    ## Idempotency


    The Debbie API supports idempotency for non-idempotent requests through the
    optional `Idempotency-Key` header. 

    This ensures that retrying the same request multiple times will produce the
    same result, preventing duplicate operations.


    ### Using Idempotency Keys


    - Include an `Idempotency-Key` header with a unique string (we recommend
    UUIDs)  

    - Maximum key length is 64 characters

    - Keys are valid for 48 hours

    - Responses served from the idempotency cache include an
    `Idempotency-Cached` header


    ### Example

    ```http

    Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000

    ```


    ### Error Cases

    - Invalid key format: 400 Bad Request

    - Reusing a key for a different request: 400 Bad Request


    ### Best Practices

    - Use a new key for each unique business transaction

    - Use the same key when retrying a failed request 

    - Store keys with request details for debugging
  contact:
    email: api-support@debbie.dk
  version: v0.1.0
servers:
  - url: https://api.debbiecollect.com
security:
  - bearerAuth: []
tags:
  - name: Authorization
    description: Endpoints for interacting with authorization
  - name: Cases
    description: Endpoints for interacting with cases
  - name: Customers
    description: Endpoints for interacting with customers
  - name: Creditors
    description: Endpoints for interacting with creditors
  - name: Ultimate creditors
    description: >-
      Endpoints for interacting with ultimate creditors. An ultimate creditor is
      the original creditor behind the creditor on a case — for example when a
      debt collection agency forwards cases on behalf of its own client. On
      cases with an ultimate creditor, the creditor template mentions (name,
      address and company identifier) use the details of the ultimate creditor.
  - name: Updates
    description: Endpoints for interacting with updates
  - name: Users
    description: Endpoints for interacting with updates
  - name: Files
    description: Endpoints for interacting with files
  - name: Case vouchers
    description: Endpoints for interacting with case vouchers
  - name: Voucher types
    description: The voucher types of the tenant, used to categorize case vouchers
  - name: Interactions
    description: >-
      Interactions are messages and notes on a case, for example an incoming
      message from a debtor.
  - name: Billing
    description: Endpoints for interacting with billing
  - name: Links
    description: Endpoints for generating links
  - name: Webhooks
    description: >-
      Debbie provides a range of webhooks. To try them out please visit Debbie
      Caseworker and navigate to Settings --> Developers --> Webhooks.
  - name: End reasons
    description: Endpoints for interacting with end reasons
  - name: Case groups
    description: Endpoints for interacting with case groups
externalDocs:
  description: Find out more about Debbie here
  url: https://debbiecollect.com
paths:
  /v1/{tenantId}/updates/{updateId}:
    get:
      tags:
        - Updates
      summary: Get update
      description: >-
        Get a single update by its id. Only updates on cases can be read; any
        other update answers 404.


        **Required scope:** `read:updates`
      operationId: get-update
      parameters:
        - in: path
          name: tenantId
          schema:
            type: string
            format: uuid
          required: true
          description: Id of the tenant the updates belong to
        - in: path
          name: updateId
          schema:
            type: string
            format: uuid
          required: true
          description: Id of the update
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Update'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: The update does not exist on the tenant
        '422':
          $ref: '#/components/responses/UnprocessableContent'
components:
  schemas:
    Update:
      type: object
      properties:
        updateId:
          type: string
          format: uuid
          description: Id of the update
        referenceId:
          type: string
          format: uuid
          description: Id of the case the update belongs to
        updateTypeId:
          type: string
          format: uuid
          description: Id of the update type
        label:
          type: string
          description: Label of the update type
        description:
          type: string
          description: Description of the update type
        priority:
          type: integer
          description: Priority of the update type
        update:
          type:
            - string
            - 'null'
          description: Text of the update
        data:
          description: Arbitrary data attached to the update
        refId:
          type:
            - string
            - 'null'
          description: Id of the entity the update refers to, for example a case voucher
        taskId:
          type:
            - string
            - 'null'
          description: Id of the workflow task that produced the update
        byWorkflowId:
          type:
            - string
            - 'null'
          format: uuid
          description: Id of the workflow that produced the update
        intention:
          type:
            - string
            - 'null'
          description: Intention the update was created with
        state:
          type:
            - string
            - 'null'
          enum:
            - EXECUTED
            - ROLLED_BACK
            - null
          description: State of the update
        procedure:
          type:
            - array
            - 'null'
          items:
            type: object
          description: Result of the procedure that produced the update
        createdAt:
          type: string
          description: Timestamp the update was created at
        pausedAt:
          type: string
          description: Timestamp the update is paused from
        continuedAt:
          type:
            - string
            - 'null'
          description: >-
            Timestamp the update was continued at. Null while the update is
            still open.
        remindedAt:
          type:
            - string
            - 'null'
          description: Timestamp the update reminds at
        responsibleType:
          type:
            - string
            - 'null'
          description: Type of the responsible party for the update
        responsibleReferenceId:
          type:
            - string
            - 'null'
          description: Reference id of the responsible party for the update
        responsiblePermissionLevel:
          type:
            - string
            - 'null'
          description: Role required to be set as responsible for the update
        hiddenPermissionLevel:
          type:
            - string
            - 'null'
          description: Role the update is hidden from
        pauseWithUpdateOnCaseExit:
          type:
            - string
            - 'null'
          description: Update type the update is paused with when the case ends
        continueOnCaseExit:
          type: boolean
          description: Whether the update is continued when the case ends
        createdBy:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Who created the update
        continuedBy:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Who continued the update
      examples:
        - updateId: 9b2e4c7a-1f3d-4a2b-8c5e-6d7f8a9b0c1d
          referenceId: 3f1c2d4e-5a6b-7c8d-9e0f-1a2b3c4d5e6f
          updateTypeId: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
          label: Reminder
          description: A reminder was sent to the debtor
          priority: 3
          update: Reminder sent to debtor
          data: null
          refId: null
          taskId: null
          byWorkflowId: null
          intention: null
          state: null
          procedure: null
          createdAt: '2025-01-01T20:00:00.000Z'
          pausedAt: '2025-01-01T20:00:00.000Z'
          continuedAt: null
          remindedAt: '2025-01-08T20:00:00.000Z'
          responsibleType: null
          responsibleReferenceId: null
          responsiblePermissionLevel: null
          hiddenPermissionLevel: null
          pauseWithUpdateOnCaseExit: null
          continueOnCaseExit: false
          createdBy:
            type: KEY
            id: 2c3d4e5f-6a7b-8c9d-0e1f-2a3b4c5d6e7f
            name: Warehouse sync
          continuedBy: null
  responses:
    UnauthorizedError:
      description: Access token missing or invalid
    UnprocessableContent:
      description: Unable to process the contained instructions.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authentication can be done by using a bearer token in the Authorization
        header. This is done using the following format `Authorization: Bearer
        {token}`.

````