Projects
List, create, update, and delete the Screpy projects available to your REST API key.
Discover project IDs first
List projects before calling project-specific endpoints. Use the returned project_uid, not a display name, for crawls, crawl data, comparisons, and health requests.
The list can include projects owned by the account and projects shared with it. Confirm the project scope before updating or deleting a project, especially in an automation that acts on more than one account. Use account when the workflow also depends on current allowances.
/projectsList projects available to the authenticated member, including shared team projects.
Authorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Query Parameters
Maximum records to return. Defaults to 50.
1 <= value <= 10050Opaque cursor returned by the prior response. Do not construct or alter it.
length <= 512Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects"{ "data": [ { "uid": "string", "name": "string", "domain": "string", "role": "owner", "crawler_enabled": true, "crawl_count": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } ], "links": { "first": "http://example.com", "last": "http://example.com", "prev": "http://example.com", "next": "http://example.com" }, "meta": { "path": "http://example.com", "per_page": 0, "next_cursor": "string", "prev_cursor": "string" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}/projectsCreates an owned project. Capacity, duplicate-domain, and plan checks run at request time.
Authorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "domain": "string" }'{ "data": { "uid": "string", "name": "string", "domain": "string", "role": "owner", "crawler_enabled": true, "crawl_count": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}Returns the project, its latest completed crawl summary, and current on-page overview.
Authorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string"{ "data": { "project": { "uid": "string", "name": "string", "domain": "string", "role": "owner", "crawler_enabled": true, "crawl_count": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }, "latest_completed_crawl": { "crawl_uid": "string", "status": "string", "state": "string", "status_label": "string", "started_at": "2019-08-24T14:15:22Z", "finished_at": "2019-08-24T14:15:22Z", "last_synced_at": "2019-08-24T14:15:22Z", "progress": { "pages_crawled": 0, "pages_total": 0, "max_pages": 0, "current_depth": 0 }, "health": { "score": 0, "confidence": 0, "coverage": 0 }, "issues": { "critical": 0, "warnings": 0, "notices": 0, "total": 0 }, "totals": { "pages": 0, "indexable_pages": 0, "noindex_pages": 0, "links": 0, "images": 0, "unique_urls": 0 } }, "on_page": { "summary": { "status": "string", "finished_at": "2019-08-24T14:15:22Z", "health_score": 0, "health_score_version": 0, "health_score_confidence": 0, "health_score_coverage": 0, "health_score_groups": [ null ], "health_score_delta": 0, "pages_total": 0, "critical_issues": 0, "warnings": 0, "notices": 0, "issues_total": 0, "avg_response_time_ms": 0, "duration_seconds": 0, "broken_links": 0, "total_images_count": 0, "missing_metadata": 0, "issues_added": 0, "issues_fixed": 0 }, "trends": [ null ], "groups": [ null ], "coverage": [ null ] } }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}/projects/{project_uid}Send only fields to update. Unknown fields and unsupported nested rule fields are rejected.
Authorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
1 <= propertiesResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/projects/string" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "uid": "string", "name": "string", "domain": "string", "role": "owner", "crawler_enabled": true, "crawl_count": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}Only the project owner can delete a project.
Authorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Response Body
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/projects/string"{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}