GigUp Docs

API

API Docs

Get started with the GigUp API. Learn about base URLs, authentication, permissions, and available resources.

The GigUp API gives you programmatic access to your job pipeline. Build integrations, automate workflows, and sync job data with your existing tools.

When to Use the API

Use the API when Use MCP when
You are building a direct integration, automation, or data sync. You want an AI agent to understand GigUp docs and help plan the work.
Your app needs to read or update jobs, trackers, profile data, or proposal templates. Your workflow needs guided setup, docs discovery, or implementation planning.

Using AI Agents

If you want Codex, Cursor, OpenCode, or another MCP-capable agent to work with GigUp, use the hosted MCP endpoint instead of hand-writing API requests. The agent connects to https://giguphq.com/mcp, sends your GigUp API token as a bearer token, and then discovers the tools it can use.

For copy-paste setup snippets, see Connecting Agents.

Base URL

All API requests are made to:

https://giguphq.com/api/v1

Authentication

Every request must include a valid API token in the Authorization header:

Authorization: Bearer {your_api_token}
Accept: application/json

Generate tokens from Developer Tools. Tokens are shown only once at creation. Store them securely.

Permissions

Tokens are scoped with one or both permissions:

Permission Access
read Read-only endpoints (GET)
write All endpoints including mutations (POST, PATCH, DELETE)

Read endpoints accept either read or write tokens. Write endpoints require write.

HTTP Status Codes

Code Meaning
200 OKRequest succeeded
201 CreatedResource created successfully
204 No ContentResource deleted successfully
400 Bad RequestInvalid request parameters
401 UnauthorizedMissing or invalid API token
403 ForbiddenToken lacks required permission
404 Not FoundResource does not exist
422 Unprocessable EntityValidation failed
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorServer error

All error responses are JSON. Missing API resources return the same simple 404 body across endpoints:

{
  "message": "Resource not found."
}

Rate Limiting

API requests are rate limited to 100 requests per minute per token. Rate limit headers are included in every response:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1704067200

Response Format

All responses are JSON with a consistent structure:

{
  "data": { ... },
  "current_page": 1,
  "current_page_url": "https://giguphq.com/api/v1/jobs?page=1",
  "first_page_url": "https://giguphq.com/api/v1/jobs?page=1",
  "from": 1,
  "next_page_url": "https://giguphq.com/api/v1/jobs?page=2",
  "path": "https://giguphq.com/api/v1/jobs",
  "per_page": 10,
  "prev_page_url": null,
  "to": 10
}

Single resource responses return the resource directly under data. Paginated endpoints use Laravel simplePaginate(10) and return the paginator fields at the top level. Use page to move through results; custom page sizes are not supported. Simple pagination returns previous and next page URLs, but not total result counts or last-page numbers.

Available Resources

Resource Description
Authentication Create and manage API tokens
Jobs Browse, filter, and update tracked jobs
AI Job Trackers Manage AI Job Trackers
AI Proposal Templates Create reusable proposal generation prompts

SDKs & Tools

While we don't provide official SDKs yet, you can use standard HTTP clients:

cURL

curl -X GET "https://giguphq.com/api/v1/jobs" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Python

import requests

headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Accept": "application/json"
}

response = requests.get("https://giguphq.com/api/v1/jobs", headers=headers)
jobs = response.json()

JavaScript

const response = await fetch('https://giguphq.com/api/v1/jobs', {
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Accept': 'application/json'
  }
});

const data = await response.json();

Support

Questions or issues? Reach out to [email protected].