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

# Get Memo

> Retrieve a specific memo by ID

## Endpoint

```
GET /memos/{id}
```

## Description

Retrieve detailed information about a specific memo by its ID.

## Authentication

Requires Bearer token authentication. Accessible by:

* Employee
* Manager
* HR Manager
* Super Admin

## Path Parameters

<ParamField path="id" type="string" required>
  UUID of the memo to retrieve
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indicates if the request was successful
</ResponseField>

<ResponseField name="data" type="object">
  The memo object

  <Expandable title="Memo Object">
    <ResponseField name="id" type="string">
      Unique memo identifier (UUID)
    </ResponseField>

    <ResponseField name="companyId" type="string">
      Company UUID
    </ResponseField>

    <ResponseField name="employeeId" type="string">
      UUID of the employee who created the memo
    </ResponseField>

    <ResponseField name="memoType" type="string">
      Type of memo (request, disciplinary, announcement, general)
    </ResponseField>

    <ResponseField name="title" type="string">
      Memo title
    </ResponseField>

    <ResponseField name="content" type="string">
      Full memo content
    </ResponseField>

    <ResponseField name="referenceNumber" type="string">
      Reference number for tracking
    </ResponseField>

    <ResponseField name="status" type="string">
      Current memo status (draft, pending, approved, rejected, archived)
    </ResponseField>

    <ResponseField name="currentStep" type="integer">
      Current approval workflow step
    </ResponseField>

    <ResponseField name="priority" type="string">
      Priority level (low, normal, high, urgent)
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      ISO 8601 timestamp of creation
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      ISO 8601 timestamp of last update
    </ResponseField>
  </Expandable>
</ResponseField>

## Example Request

```bash theme={null}
GET /memos/123e4567-e89b-12d3-a456-426614174000
```

## Example Response

```json theme={null}
{
  "success": true,
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "companyId": "550e8400-e29b-41d4-a716-446655440000",
    "employeeId": "660e8400-e29b-41d4-a716-446655440000",
    "memoType": "request",
    "title": "Request for Additional Resources",
    "content": "We require additional development resources for the Q2 project to meet the deadline. This includes 2 senior developers and 1 project coordinator.",
    "referenceNumber": "REQ-2024-001",
    "status": "pending",
    "currentStep": 1,
    "priority": "high",
    "createdAt": "2024-03-03T10:30:00Z",
    "updatedAt": "2024-03-03T10:30:00Z"
  }
}
```

## Status Codes

<ResponseField name="200" type="OK">
  Memo retrieved successfully
</ResponseField>

<ResponseField name="400" type="Bad Request">
  Invalid memo ID format
</ResponseField>

<ResponseField name="401" type="Unauthorized">
  Missing or invalid authentication token
</ResponseField>

<ResponseField name="404" type="Not Found">
  Memo not found
</ResponseField>

<ResponseField name="500" type="Internal Server Error">
  Server error occurred
</ResponseField>

## Related Actions

After retrieving a memo, you can:

<CardGroup cols={2}>
  <Card title="Mark as Read" icon="check" href="/api/memos/read">
    Mark the memo as read if you're a recipient
  </Card>

  <Card title="Approve Memo" icon="thumbs-up" href="/api/memos/approve">
    Approve the memo if you're an authorized approver
  </Card>

  <Card title="Reject Memo" icon="thumbs-down" href="/api/memos/reject">
    Reject the memo if you're an authorized approver
  </Card>
</CardGroup>

<Info>
  Use this endpoint to retrieve full memo details before performing approval or rejection actions.
</Info>
