---
title: "Get developer logs"
method: POST
path: "/v1/developer_logs"
tags: ["Developer Logs"]
---

# Get developer logs

`POST /v1/developer_logs`

Returns a list of developer log entries for REST API and MCP server requests made within the organization. This endpoint requires a plan access token with the `org:developer_log_read` scope.

## Request body

- object
  - `token_type` 'plan_access_token' | 'developer_token' | 'oauth_token' — Filter by the type of token used for authentication.
  - `token` string — Filter by token value(s). Multiple values can be separated by commas.
  - `token_name` string — Filter by token name prefix(es). Multiple values can be separated by commas.
  - `user_email` string — Filter by user email prefix(es). Multiple values can be separated by commas.
  - `ip_address` string — Filter by IP address prefix(es). Multiple values can be separated by commas.
  - `event_source` 'rest_api' | 'mcp_server' — Filter by event source.
  - `date_range` 'last_24h' | 'last_7d' | 'last_30d' — Filter by date range.
  - `limit` integer — Maximum number of entries to return.
  - `cursor` string — A cursor returned from a previous request, used for pagination.

## Response `200`

Response from the POST /v1/developer_logs endpoint.

- object
  - `status` 200, required — The response status code.
  - `error` false, required — For successful requests, this value is always `false`.
  - `meta` object, required
    - `items` DeveloperLog[], required — An array of developer log entries sorted by timestamp in descending order.
      - `uuid` string, required — The unique identifier of the log entry.
      - `timestamp` string, required — The ISO 8601 timestamp of when the request was made.
      - `action` DeveloperLogAction, required — The API endpoint or tool that was called.
        - `event_name` string, required — The route path (for REST API requests) or tool name (for MCP server calls).
        - `event_source` 'rest_api' | 'mcp_server', required — The source of the event.
      - `actor` DeveloperLogActor, required — The token used and associated user for the request.
        - `user_id` string, nullable — The ID of the user who made the request; null for requests made with plan access tokens, as there is no associated user.
        - `user_name` string, nullable — The name of the user who made the request; null for requests made with plan access tokens, as there is no associated user.
        - `user_email` string, nullable — The email of the user who made the request; null for requests made with plan access tokens, as there is no associated user.
        - `token_name` string, required — The name of the token, or the OAuth app name for OAuth tokens.
        - `token_type` 'developer_token' | 'plan_access_token' | 'oauth_token', required — The type of token used for authentication.
      - `resource` DeveloperLogResource, required — The resource accessed by the request.
        - `id_or_key` string, nullable — The ID or key of the resource. For files this is the file key; for teams and projects this is the numeric ID. Null for requests without an associated resources (e.g. activity logs).
        - `name` string, nullable — The name of the resource; null for requests without an associated resource (e.g. activity logs).
        - `type` 'file' | 'team' | 'project' | 'null', nullable — The type of resource; null for requests without an associated resource (e.g. activity logs).
        - `org_id` string, required — The ID of the organization associated with the request (e.g. that owns the resource).
      - `context` DeveloperLogContext, required — Context about the request.
        - `ip_address` string, required — The IP address of the client that made the request.
        - `city` string, nullable — The city of the client, if available.
        - `country_region` string, nullable — The region of the client, if available.
        - `country` string, nullable — The country of the client, if available.
    - `cursor` string, nullable — A cursor for pagination. Pass this value as the `cursor` parameter in the next request to retrieve the next page of results. `null` when there are no more results.
    - `has_more` boolean, required — Whether there are more results available after this page.

## Other responses

- `400` — Bad request. Parameters are invalid or malformed. Please check the input formats. This error can also happen if the requested resources are too large to complete the request, which results in a timeout. Please reduce the number and size of objects requested.
- `401` — Token is missing or incorrect.
- `403` — The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource, or may need an account of some sort.
- `429` — In some cases API requests may be throttled or rate limited. Please wait a while before attempting the request again (typically a minute).
- `500` — An internal server error occurred.

## Changes

> 36 revisions in range; 33 could not be searched.

- **2023-12-14** `de5c0106668d` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/figma/apis/figma-api/changes/v1/developer_logs/post.md)

---

[API](https://skmtc.dev/figma/apis/figma-api.md) · [All operations](https://skmtc.dev/figma/apis/figma-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/figma/figma-api/revisions/d7ab5681d84c/schema)
