---
title: "Get a single content brief"
method: GET
path: "/v1/projects/{projectId}/geo/briefs/{briefId}"
tags: ["GEO"]
---

# Get a single content brief

`GET /v1/projects/{projectId}/geo/briefs/{briefId}`

## Request

- Base URL: `https://api.usenotra.com`
- URL: `https://api.usenotra.com/v1/projects/{projectId}/geo/briefs/{briefId}`
- Auth: HTTP bearer

## Path parameters

- `projectId` string, required
- `briefId` string, required

## Response `200`

Brief fetched successfully

- GeoContentBriefResponse
  - `brief` GeoContentBriefDetail, required
    - `id` string, required
    - `topic` string, required
    - `brief` GeoContentBriefDocument, required
      - `targetPrompt` string, required
      - `intent` string, required
      - `contentSubtype` 'guide' | 'comparison' | 'listicle' | 'how-to' | 'faq' | 'alternatives', required
      - `workingTitle` string, required
      - `audience` string, required
      - `jobToBeDone` string, required
      - `sections` object[], required
        - `heading` string, required
        - `goal` string, required
        - `claims` string[], required
      - `questionsToAnswer` string[], required
      - `internalLinks` object[], required
        - `url` string, required
        - `anchor` string, required
        - `why` string, required
      - `acceptanceChecklist` string[], required
      - `recommendedAngle` string
      - `competitorsToCounter` string[]
      - `sourcesToReference` string[]
      - `missingCoverage` string[]
      - `baseline` object, nullable
        - `sourcePromptId` string, required
        - `mentionedEngines` number, required
        - `totalEngines` number, required
        - `engines` object[], required
          - `engine` string, required
          - `mentioned` boolean, required
          - `position` number, nullable, required
        - `competitorMentions` object[], required
          - `name` string, required
          - `engines` number, required
        - `citedDomains` object[], required
          - `domain` string, required
          - `engines` number, required
        - `capturedAt` string, nullable, required
    - `status` 'draft' | 'approved' | 'writing' | 'completed' | 'failed', required
    - `autoApproved` boolean, required
    - `runId` string, nullable, required
    - `postId` string, nullable, required
    - `humanized` boolean, required
    - `error` string, nullable, required
    - `createdAt` string, required
    - `updatedAt` string, required
    - `completedAt` string, nullable, required
  - `organization` object, required
    - `id` string, required
    - `slug` string, required
    - `name` string, required
    - `logo` string, nullable, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key
- `402`: GEO plan or available AI credits required
- `403`: Forbidden
- `404`: Organization, project or resource not found
- `409`: Conflict
- `500`: Internal server error
- `503`: Authentication or billing service unavailable

## Changes

- **2026-09-04** `931a7bd8d32c`: 5 info
  - added the optional property `brief/brief/baseline` to the response with the `200` status
  - added the optional property `brief/brief/competitorsToCounter` to the response with the `200` status
  - added the optional property `brief/brief/missingCoverage` to the response with the `200` status
  - added the optional property `brief/brief/recommendedAngle` to the response with the `200` status
  - …1 more
- **2026-09-02** `fd2fc44c9208`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usenotra/apis/notra-api/changes/v1/projects/:projectId/geo/briefs/:briefId/get.md)

---

[API](https://skmtc.dev/usenotra/apis/notra-api.md) · [All operations](https://skmtc.dev/usenotra/apis/notra-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usenotra/apis/notra-api/revisions/0332a6e10b77?raw)
