Apikee

Projects API

REST API reference for project and environment management.

Projects API

Base path: https://apikee.dev/api/v1/project


List projects

GET /project

Query parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
limitintegerPer page (default: 10, max: 100)
namestringFilter by name
statusstringFilter by status

Example

curl "https://apikee.dev/api/v1/project?limit=5" \
  -H "x-api-key: sk_live_..."

Response 200

{
  "data": [
    {
      "slug": "my-api",
      "name": "My API",
      "envs": {
        "count": 2,
        "list": [
          {
            "project_env": "my-api-production",
            "type": "production",
            "clients": { "count": 12, "max": 50 }
          }
        ]
      }
    }
  ],
  "pagination": { "total": 3, "page": 1, "limit": 5, "pages": 1 }
}

Create project

POST /project

Request body

{
  "slug": "my-api",
  "name": "My API",
  "description": "Customer-facing REST API",
  "envs": [
    {
      "type": "production",
      "url": "https://api.myapp.com",
      "templates": [
        {
          "name": "Starter",
          "rateLimitDay": 1000,
          "maxClients": 100
        }
      ]
    }
  ]
}

Response 201 — returns the created ProjectSummary object.


Get project

GET /project/{project_env}

Path parameters

ParameterDescription
project_envProject-environment slug, e.g. my-api-production

Response 200 — returns the full ProjectSummary with environment details.


Update project

PUT /project/{project_env}

Request body

{
  "name": "My API (Updated)",
  "singleEnv": {
    "url": "https://api.myapp.com/v2",
    "templates": [
      { "name": "Pro", "rateLimitDay": 50000 }
    ]
  }
}

Response 200 — returns the updated ProjectSummary.


Delete project / environment / template

DELETE /project/{project_env}

Query parameters

ParameterTypeDescription
kindproject | env | templateWhat to delete
envIdstringEnvironment ID (when kind=env)
templateIdstringTemplate ID (when kind=template)
forceDeletebooleanSkip confirmation checks

Response 200

{ "success": true, "deleted": "my-api" }

Get logs

GET /project/{project_env}/logs

Query parameters

ParameterTypeDescription
methodPathstringFilter by endpoint, e.g. GET:/users
clientIdstringFilter by client UUID
statussuccess | errorFilter by outcome
pageintegerPage number
limitintegerPer page

Response 200

{
  "data": [
    {
      "id": "log_abc",
      "clientId": "uuid-...",
      "status": "success",
      "durationMs": 3,
      "timestamp": "2026-03-19T14:22:01Z",
      "method_path": "GET:/users",
      "name": "Production Key"
    }
  ],
  "pagination": { "total": 9421, "page": 1, "limit": 10, "pages": 943 }
}

On this page