<!-- https://cutedyno.com/docs/api/get-post -->

# Get a post

`GET https://api.cutedyno.com/v1/posts/{id}`

Fetches one post, including per-account publish results.



Required permission: `posts:read`

Accepts `profileId` to target a specific profile. Omit it to use the key’s home profile.

Required permission: `posts:read`

MCP tool: `get_post`

## Path parameters

- `id` (string, required) — Post id.

## Query parameters

- `profileId` (string) — Profile to act on. Defaults to the profile the API key was created in.

## Request

```bash
curl -X GET "https://api.cutedyno.com/v1/posts/POST_ID?profileId=PROFILE_ID" \
  -H "Authorization: Bearer $CUTEDYNO_API_KEY"
```

```typescript
import { CuteDyno } from '@cutedyno/node';

const cutedyno = new CuteDyno();

const result = await cutedyno.posts.retrieve('POST_ID', {
  profileId: "PROFILE_ID"
});
console.log(result);
```

```python
import os
import requests

url = "https://api.cutedyno.com/v1/posts/POST_ID?profileId=PROFILE_ID"
headers = {"Authorization": f"Bearer {os.environ['CUTEDYNO_API_KEY']}"}

response = requests.get(url, headers=headers)
response.raise_for_status()
print(response.json())
```

## Response 200

- `post` (Post, required)

```json
{
  "post": {
    "id": "a1b2c3d4-0000-4000-8000-000000000000",
    "status": "draft",
    "content": "Shipping today.",
    "contentType": "text",
    "media": [
      {
        "type": "image",
        "url": "https://cdn.example.com/media/launch.jpg"
      }
    ],
    "platforms": {},
    "scheduledAt": "string",
    "createdAt": "string",
    "updatedAt": "string",
    "completedAt": "string",
    "accounts": [
      {
        "id": "a1b2c3d4-0000-4000-8000-000000000000",
        "platformAccountId": "platformAccount_a1b2c3d4",
        "platform": "string",
        "name": "Acme Corp"
      }
    ],
    "results": [
      {
        "targetId": "target_a1b2c3d4",
        "platform": "facebook",
        "pageName": "Acme Corp",
        "status": "success",
        "result": null,
        "error": "string"
      }
    ],
    "completedTargets": 0,
    "failedTargets": 0,
    "totalTargets": 0
  }
}
```

## Errors

- `invalid_api_key` (401) — The key does not exist, was revoked, or is malformed. Keys start with cdyn_live_.
- `profile_not_accessible` (403) — The requested profile is outside this key’s scope, or belongs to another account.
- `not_found` (404) — The resource does not exist inside the resolved profile.
- `rate_limit_exceeded` (429) — Too many requests for this key. Honour the Retry-After header before retrying.
- `internal_error` (500) — Something failed on our side. Retry with the same Idempotency-Key; report the requestId if it persists.