# Marketplace MCP tools

> Tool descriptions and complete input schemas for marketplace operations.

Source: https://docs.graph8.com/developers/mcp-reference/marketplace/

Use this reference to find a tool and its inputs. [Connect an MCP client](https://docs.graph8.com/developers/mcp/) before calling tools. Tool visibility depends on discovery and permissions.

For actions that send messages, spend credits, delete data, or start execution, review the intended records and confirm the action before proceeding. Obtain IDs from a prior result; do not invent them. A registered tool does not guarantee that its supporting service is available in every organization.

## g8_marketplace_accept_offer

> Accept a pending marketplace hire offer. Moves the hiring to ``active``, creates the hiring-fee invoice, grants you membership in the client org, and notifies the client. Requires a personal API key. Args: hiring_id: Hiring offer to accept (from g8_marketplace_list_my_offers).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `hiring_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "hiring_id": {
      "title": "Hiring Id",
      "type": "string"
    }
  },
  "required": [
    "hiring_id"
  ],
  "title": "accept_marketplace_offerArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_admin_funnel

> Marketplace SDR supply funnel - conversion stages + snapshot counts. graph8 platform admin only (403 otherwise). Args: period_from: YYYY-MM-DD inclusive start (max 365-day range). period_to: YYYY-MM-DD inclusive end.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `period_from` | Yes | string | See the schema below for constraints and defaults. |
| `period_to` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "period_from": {
      "title": "Period From",
      "type": "string"
    },
    "period_to": {
      "title": "Period To",
      "type": "string"
    }
  },
  "required": [
    "period_from",
    "period_to"
  ],
  "title": "admin_marketplace_funnelArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_admin_hires

> Hire conversion + termination + rehire metrics. graph8 admin only. Args: period_from: YYYY-MM-DD inclusive start. period_to: YYYY-MM-DD inclusive end. group_by: day / week / month.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `period_from` | Yes | string | See the schema below for constraints and defaults. |
| `period_to` | Yes | string | See the schema below for constraints and defaults. |
| `group_by` | No | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "period_from": {
      "title": "Period From",
      "type": "string"
    },
    "period_to": {
      "title": "Period To",
      "type": "string"
    },
    "group_by": {
      "default": "month",
      "title": "Group By",
      "type": "string"
    }
  },
  "required": [
    "period_from",
    "period_to"
  ],
  "title": "admin_marketplace_hiresArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_admin_operational

> Operational health - SLA, disputes, payout success. graph8 admin only. Args: period_from: YYYY-MM-DD inclusive start. period_to: YYYY-MM-DD inclusive end.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `period_from` | Yes | string | See the schema below for constraints and defaults. |
| `period_to` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "period_from": {
      "title": "Period From",
      "type": "string"
    },
    "period_to": {
      "title": "Period To",
      "type": "string"
    }
  },
  "required": [
    "period_from",
    "period_to"
  ],
  "title": "admin_marketplace_operationalArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_admin_revenue

> GMV, net commission, and money-loop state distribution. graph8 admin only. Args: period_from: YYYY-MM-DD inclusive start. period_to: YYYY-MM-DD inclusive end. group_by: day / week / month.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `period_from` | Yes | string | See the schema below for constraints and defaults. |
| `period_to` | Yes | string | See the schema below for constraints and defaults. |
| `group_by` | No | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "period_from": {
      "title": "Period From",
      "type": "string"
    },
    "period_to": {
      "title": "Period To",
      "type": "string"
    },
    "group_by": {
      "default": "month",
      "title": "Group By",
      "type": "string"
    }
  },
  "required": [
    "period_from",
    "period_to"
  ],
  "title": "admin_marketplace_revenueArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_approve_my_invoice

> Approve your own draft invoice (sdr_review -&gt; pending), submitting it for client review. SDR-side only; the org uses approve_org_invoice to release payment. Args: invoice_id: Draft invoice to approve (from g8_marketplace_list_my_invoices).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `invoice_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "invoice_id": {
      "title": "Invoice Id",
      "type": "string"
    }
  },
  "required": [
    "invoice_id"
  ],
  "title": "approve_my_marketplace_invoiceArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_approve_org_invoice

> Approve an SDR invoice - triggers an IMMEDIATE Stripe charge to your org's default payment method, transferring funds to the SDR. Irreversible; confirm with the user before invoking. Args: invoice_id: Invoice to approve and charge (from g8_marketplace_list_org_invoices).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `invoice_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "invoice_id": {
      "title": "Invoice Id",
      "type": "string"
    }
  },
  "required": [
    "invoice_id"
  ],
  "title": "approve_org_marketplace_invoiceArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_browse_talent

> Browse available marketplace talent. Already-hired SDRs are filtered out; anonymous profiles stay masked unless your org previously hired them. Args: country_code: ISO-2 country filter. payout_track: Payout track filter. role: sdr / ae / gtm_engineer. availability: open / limited / fully_booked. tier: Certification tier (TitleCase, case-sensitive). AE: "Top Performer" \| "Leadership-track" \| "Senior" \| "Solid" \| "Transition". SDR: "Strategic" \| "Data-Driven" \| "Independent" \| "Disciplined". Other values return an empty set. limit: Page size, clamped to 1-5000. offset: Pagination offset.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `country_code` | No | string / null | See the schema below for constraints and defaults. |
| `payout_track` | No | string / null | See the schema below for constraints and defaults. |
| `role` | No | string / null | See the schema below for constraints and defaults. |
| `availability` | No | string / null | See the schema below for constraints and defaults. |
| `tier` | No | string / null | See the schema below for constraints and defaults. |
| `limit` | No | integer | See the schema below for constraints and defaults. |
| `offset` | No | integer | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "country_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Country Code"
    },
    "payout_track": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Payout Track"
    },
    "role": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Role"
    },
    "availability": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Availability"
    },
    "tier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tier"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    }
  },
  "title": "browse_marketplace_talentArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_create_job_post

> Publish a marketplace job post (Open Role) under your org. Applicants apply to your org, so a graph8 key owns every applicant. Put the client's JD + requirements in ``description``. Set ``status="published"`` to go live to talent now, or leave it ``"draft"`` to stage and publish later. Args: title: Role title (e.g. "Outbound SDR - Acme Corp"). role_type: sdr \| ae \| gtm \| gtm_engineer \| campaign_manager. description: The client's JD + requirements (free text). engagement_type: monthly \| per_meeting \| hybrid \| commission_only. industries: Optional target industries. tools: Optional required tools (e.g. Outreach, Salesforce). countries: Optional ISO-2 country filters. languages: Optional required languages. seniority: e.g. junior \| mid \| senior. monthly_rate_usd_min: Monthly base range floor. monthly_rate_usd_max: Monthly base range ceiling. per_meeting_rate_usd: Per-meeting rate. openings_count: Number of openings (&gt;= 1). status: draft (default) \| published.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `title` | Yes | string | See the schema below for constraints and defaults. |
| `role_type` | Yes | string | See the schema below for constraints and defaults. |
| `description` | No | string / null | See the schema below for constraints and defaults. |
| `engagement_type` | No | string | See the schema below for constraints and defaults. |
| `industries` | No | array / null | See the schema below for constraints and defaults. |
| `tools` | No | array / null | See the schema below for constraints and defaults. |
| `countries` | No | array / null | See the schema below for constraints and defaults. |
| `languages` | No | array / null | See the schema below for constraints and defaults. |
| `seniority` | No | string / null | See the schema below for constraints and defaults. |
| `monthly_rate_usd_min` | No | number / null | See the schema below for constraints and defaults. |
| `monthly_rate_usd_max` | No | number / null | See the schema below for constraints and defaults. |
| `per_meeting_rate_usd` | No | number / null | See the schema below for constraints and defaults. |
| `commission_plan_version_id` | No | string / null | See the schema below for constraints and defaults. |
| `openings_count` | No | integer | See the schema below for constraints and defaults. |
| `status` | No | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "title": {
      "title": "Title",
      "type": "string"
    },
    "role_type": {
      "title": "Role Type",
      "type": "string"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "engagement_type": {
      "default": "monthly",
      "title": "Engagement Type",
      "type": "string"
    },
    "industries": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Industries"
    },
    "tools": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tools"
    },
    "countries": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Countries"
    },
    "languages": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Languages"
    },
    "seniority": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Seniority"
    },
    "monthly_rate_usd_min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Monthly Rate Usd Min"
    },
    "monthly_rate_usd_max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Monthly Rate Usd Max"
    },
    "per_meeting_rate_usd": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Per Meeting Rate Usd"
    },
    "commission_plan_version_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Commission Plan Version Id"
    },
    "openings_count": {
      "default": 1,
      "title": "Openings Count",
      "type": "integer"
    },
    "status": {
      "default": "draft",
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "title",
    "role_type"
  ],
  "title": "create_marketplace_job_postArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_delete_job_post

> Delete a job post your org owns, plus its applications. Use for draft/test or obsolete roles. If the role already has applicants, this fails unless you pass ``force=true`` - a guard so an applicant inbox isn't wiped by mistake. Args: post_id: Job post to delete. force: Set true to confirm deleting a role that has applications (removes their application history).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `post_id` | Yes | string | See the schema below for constraints and defaults. |
| `force` | No | boolean | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "post_id": {
      "title": "Post Id",
      "type": "string"
    },
    "force": {
      "default": false,
      "title": "Force",
      "type": "boolean"
    }
  },
  "required": [
    "post_id"
  ],
  "title": "delete_marketplace_job_postArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_dispute_org_invoice

> Dispute an SDR invoice within the grace period. Must be in ``pending`` state and within the 5-calendar-day review window. Irreversible - the invoice goes to ops for resolution and there is no programmatic un-dispute. Args: invoice_id: Invoice to dispute (from g8_marketplace_list_org_invoices). reason: Required free-form dispute reason.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `invoice_id` | Yes | string | See the schema below for constraints and defaults. |
| `reason` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "invoice_id": {
      "title": "Invoice Id",
      "type": "string"
    },
    "reason": {
      "title": "Reason",
      "type": "string"
    }
  },
  "required": [
    "invoice_id",
    "reason"
  ],
  "title": "dispute_org_marketplace_invoiceArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_job_post

> Get one job post your org owns. Args: post_id: Job post id (from g8_marketplace_list_job_posts).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `post_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "post_id": {
      "title": "Post Id",
      "type": "string"
    }
  },
  "required": [
    "post_id"
  ],
  "title": "get_marketplace_job_postArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_my_connect_status

> Get your Stripe Connect onboarding status (live Stripe-enriched).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {},
  "title": "get_my_marketplace_connect_statusArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_my_meeting

> Get one of your meetings by ID - includes transcript, recording, attendees, notes. Args: meeting_id: Meeting to fetch (from g8_marketplace_list_my_meetings).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `meeting_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "meeting_id": {
      "title": "Meeting Id",
      "type": "string"
    }
  },
  "required": [
    "meeting_id"
  ],
  "title": "get_my_marketplace_meetingArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_my_payout_account

> Get your payout account status (Stripe Connect / Wise / fallback).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {},
  "title": "get_my_marketplace_payout_accountArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_my_profile

> Get your own marketplace SDR profile. Returns rate, availability, role, country, bio, and an ``is_complete`` flag (gates marketplace visibility). Requires a personal API key; org-scoped keys return 404 (use g8_marketplace_list_org_hirings instead).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {},
  "title": "get_my_marketplace_profileArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_org_hiring

> Get one hiring contract for your org, with the SDR's profile.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `hiring_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "hiring_id": {
      "title": "Hiring Id",
      "type": "string"
    }
  },
  "required": [
    "hiring_id"
  ],
  "title": "get_org_marketplace_hiringArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_org_invoice

> Get one invoice in full detail (SDR profile + hiring contract context).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `invoice_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "invoice_id": {
      "title": "Invoice Id",
      "type": "string"
    }
  },
  "required": [
    "invoice_id"
  ],
  "title": "get_org_marketplace_invoiceArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_talent_match_score

> Get the cached match score for your org and this talent. If none exists, dispatches an async compute and returns ``&#123;"status": "generating"&#125;``; poll again after a few seconds. Args: sdr_id: Talent to score against your org (from g8_marketplace_browse_talent).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `sdr_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "sdr_id": {
      "title": "Sdr Id",
      "type": "string"
    }
  },
  "required": [
    "sdr_id"
  ],
  "title": "get_marketplace_talent_matchArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_get_talent_profile

> Get one talent profile by ID. Anonymous profiles stay masked unless your org has previously hired this SDR. Args: sdr_id: Talent profile to fetch (from g8_marketplace_browse_talent).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `sdr_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "sdr_id": {
      "title": "Sdr Id",
      "type": "string"
    }
  },
  "required": [
    "sdr_id"
  ],
  "title": "get_marketplace_talent_profileArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_job_applications

> List applicants for a job post - each with their role-scoped match scorecard and status. This is how you track everyone who applied. Args: post_id: Job post whose applicants to list.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `post_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "post_id": {
      "title": "Post Id",
      "type": "string"
    }
  },
  "required": [
    "post_id"
  ],
  "title": "list_marketplace_job_applicationsArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_job_posts

> List your org's marketplace job posts (any status), newest first.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {},
  "title": "list_marketplace_job_postsArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_my_hirings

> List active hiring contracts where you are the SDR side.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {},
  "title": "list_my_marketplace_hiringsArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_my_invoices

> List invoices you issued, optionally filtered by status.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `invoice_status` | No | string / null | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "invoice_status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Invoice Status"
    }
  },
  "title": "list_my_marketplace_invoicesArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_my_meetings

> List your meetings across all hirings. Args: hiring_id: Filter to one hiring contract. meeting_status: scheduled / taken / rescheduled / missed / cancelled. start_date: YYYY-MM-DD lower bound. end_date: YYYY-MM-DD upper bound. search: Matches contact name / email / notes. limit: Page size (1-500). offset: Pagination offset.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `hiring_id` | No | string / null | See the schema below for constraints and defaults. |
| `meeting_status` | No | string / null | See the schema below for constraints and defaults. |
| `start_date` | No | string / null | See the schema below for constraints and defaults. |
| `end_date` | No | string / null | See the schema below for constraints and defaults. |
| `search` | No | string / null | See the schema below for constraints and defaults. |
| `limit` | No | integer | See the schema below for constraints and defaults. |
| `offset` | No | integer | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "hiring_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Hiring Id"
    },
    "meeting_status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Meeting Status"
    },
    "start_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Start Date"
    },
    "end_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "End Date"
    },
    "search": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Search"
    },
    "limit": {
      "default": 100,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    }
  },
  "title": "list_my_marketplace_meetingsArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_my_offers

> List pending marketplace hire offers sent to your profile. Enriched with the hiring org's display name. Requires a personal API key.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {},
  "title": "list_my_marketplace_offersArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_org_hirings

> List active marketplace hiring contracts for your organization, enriched with the hired SDR's display name, role, and email.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {},
  "title": "list_org_marketplace_hiringsArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_list_org_invoices

> List marketplace invoices owed by your organization, enriched with the issuing SDR's display name. Args: invoice_status: Filter by draft / pending_client_approval / approved / charged / paid / disputed.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `invoice_status` | No | string / null | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "invoice_status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Invoice Status"
    }
  },
  "title": "list_org_marketplace_invoicesArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_reject_offer

> Reject a pending marketplace hire offer. Irreversible - the client must send a new offer to re-engage. Args: hiring_id: Hiring offer to reject (from g8_marketplace_list_my_offers).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `hiring_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "hiring_id": {
      "title": "Hiring Id",
      "type": "string"
    }
  },
  "required": [
    "hiring_id"
  ],
  "title": "reject_marketplace_offerArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_send_hire_offer

> Send a hire offer to a marketplace talent profile. Creates a pending offer and notifies the SDR. Returns ``status: active_contract_exists`` (409) if your org already has an active contract with this SDR. Supply explicit terms acceptance; a selected commission plan may have zero base and meeting rates. Args: sdr_id: Talent to hire (from g8_marketplace_browse_talent). start_date: Contract start, YYYY-MM-DD. monthly_rate_usd: Monthly retainer. per_meeting_rate_usd: Per-meeting rate. scope_text: Scope shown in the signed contract. contract_length_months: Optional fixed duration. commission_plan_version_id: Active commission plan version; snapshotted at signing. accepted_terms: Explicitly accepted document IDs; never infer acceptance.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `sdr_id` | Yes | string | See the schema below for constraints and defaults. |
| `start_date` | Yes | string | See the schema below for constraints and defaults. |
| `monthly_rate_usd` | No | number | See the schema below for constraints and defaults. |
| `per_meeting_rate_usd` | No | number | See the schema below for constraints and defaults. |
| `scope_text` | No | string / null | See the schema below for constraints and defaults. |
| `contract_length_months` | No | integer / null | See the schema below for constraints and defaults. |
| `commission_plan_version_id` | No | string / null | See the schema below for constraints and defaults. |
| `accepted_terms` | No | array / null | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "sdr_id": {
      "title": "Sdr Id",
      "type": "string"
    },
    "start_date": {
      "title": "Start Date",
      "type": "string"
    },
    "monthly_rate_usd": {
      "default": 0,
      "title": "Monthly Rate Usd",
      "type": "number"
    },
    "per_meeting_rate_usd": {
      "default": 0,
      "title": "Per Meeting Rate Usd",
      "type": "number"
    },
    "scope_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Scope Text"
    },
    "contract_length_months": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contract Length Months"
    },
    "commission_plan_version_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Commission Plan Version Id"
    },
    "accepted_terms": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Accepted Terms"
    }
  },
  "required": [
    "sdr_id",
    "start_date"
  ],
  "title": "send_marketplace_hire_offerArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_submit_my_invoice

> Submit a monthly invoice for an active hiring contract. Computes meeting count + amounts automatically, transitions to ``pending``, starts the client's 5-calendar-day review window. Args: hiring_id: Active hiring contract (from g8_marketplace_list_my_hirings). period_start: Billing period start, YYYY-MM-DD. period_end: Billing period end, YYYY-MM-DD.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `hiring_id` | Yes | string | See the schema below for constraints and defaults. |
| `period_start` | Yes | string | See the schema below for constraints and defaults. |
| `period_end` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "hiring_id": {
      "title": "Hiring Id",
      "type": "string"
    },
    "period_start": {
      "title": "Period Start",
      "type": "string"
    },
    "period_end": {
      "title": "Period End",
      "type": "string"
    }
  },
  "required": [
    "hiring_id",
    "period_start",
    "period_end"
  ],
  "title": "submit_my_marketplace_invoiceArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_terminate_org_hiring

> Terminate an active hiring contract (org side). The contract ends immediately, the SDR loses workspace access, and a final prorated invoice is issued. Irreversible - re-hiring requires a fresh hire offer. Args: hiring_id: Active hiring to terminate (from g8_marketplace_list_org_hirings).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `hiring_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "hiring_id": {
      "title": "Hiring Id",
      "type": "string"
    }
  },
  "required": [
    "hiring_id"
  ],
  "title": "terminate_org_marketplace_hiringArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_update_application

> Move an applicant through review, or link a created hiring to it. Args: application_id: Application to update (from g8_marketplace_list_job_applications). status: viewed \| shortlisted \| rejected \| offer_sent \| hired. hiring_id: Optional hiring id to link to this application.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `application_id` | Yes | string | See the schema below for constraints and defaults. |
| `status` | No | string / null | See the schema below for constraints and defaults. |
| `hiring_id` | No | string / null | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "application_id": {
      "title": "Application Id",
      "type": "string"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    },
    "hiring_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Hiring Id"
    }
  },
  "required": [
    "application_id"
  ],
  "title": "update_marketplace_applicationArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_update_job_post

> Edit a job post or change its status. Only the fields you pass change. Args: post_id: Job post to update. status: draft \| published \| paused \| closed \| filled - set this to publish, pause, close, or mark a role filled. (all other args mirror create_job_post; omit to leave unchanged.)

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `post_id` | Yes | string | See the schema below for constraints and defaults. |
| `title` | No | string / null | See the schema below for constraints and defaults. |
| `description` | No | string / null | See the schema below for constraints and defaults. |
| `role_type` | No | string / null | See the schema below for constraints and defaults. |
| `engagement_type` | No | string / null | See the schema below for constraints and defaults. |
| `industries` | No | array / null | See the schema below for constraints and defaults. |
| `tools` | No | array / null | See the schema below for constraints and defaults. |
| `countries` | No | array / null | See the schema below for constraints and defaults. |
| `languages` | No | array / null | See the schema below for constraints and defaults. |
| `seniority` | No | string / null | See the schema below for constraints and defaults. |
| `monthly_rate_usd_min` | No | number / null | See the schema below for constraints and defaults. |
| `monthly_rate_usd_max` | No | number / null | See the schema below for constraints and defaults. |
| `per_meeting_rate_usd` | No | number / null | See the schema below for constraints and defaults. |
| `commission_plan_version_id` | No | string / null | See the schema below for constraints and defaults. |
| `openings_count` | No | integer / null | See the schema below for constraints and defaults. |
| `status` | No | string / null | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "post_id": {
      "title": "Post Id",
      "type": "string"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "role_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Role Type"
    },
    "engagement_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Engagement Type"
    },
    "industries": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Industries"
    },
    "tools": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tools"
    },
    "countries": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Countries"
    },
    "languages": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Languages"
    },
    "seniority": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Seniority"
    },
    "monthly_rate_usd_min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Monthly Rate Usd Min"
    },
    "monthly_rate_usd_max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Monthly Rate Usd Max"
    },
    "per_meeting_rate_usd": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Per Meeting Rate Usd"
    },
    "commission_plan_version_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Commission Plan Version Id"
    },
    "openings_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Openings Count"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    }
  },
  "required": [
    "post_id"
  ],
  "title": "update_marketplace_job_postArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_update_my_meeting

> Update meeting notes + contact info (SDR side). Lifecycle fields (status, meeting_date, meeting_type) are not editable here. Args: meeting_id: Meeting to update (from g8_marketplace_list_my_meetings). notes: Meeting notes. contact_name: Contact name. contact_email: Contact email. contact_phone: Contact phone. contact_title: Contact job title. contact_company: Contact company. contact_linkedin_url: Contact LinkedIn URL.

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `meeting_id` | Yes | string | See the schema below for constraints and defaults. |
| `notes` | No | string / null | See the schema below for constraints and defaults. |
| `contact_name` | No | string / null | See the schema below for constraints and defaults. |
| `contact_email` | No | string / null | See the schema below for constraints and defaults. |
| `contact_phone` | No | string / null | See the schema below for constraints and defaults. |
| `contact_title` | No | string / null | See the schema below for constraints and defaults. |
| `contact_company` | No | string / null | See the schema below for constraints and defaults. |
| `contact_linkedin_url` | No | string / null | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "meeting_id": {
      "title": "Meeting Id",
      "type": "string"
    },
    "notes": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Notes"
    },
    "contact_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contact Name"
    },
    "contact_email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contact Email"
    },
    "contact_phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contact Phone"
    },
    "contact_title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contact Title"
    },
    "contact_company": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contact Company"
    },
    "contact_linkedin_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contact Linkedin Url"
    }
  },
  "required": [
    "meeting_id"
  ],
  "title": "update_my_marketplace_meetingArguments",
  "type": "object"
}
```

</details>

## g8_marketplace_withdraw_offer

> Withdraw a hiring offer the talent has NOT yet accepted (org side). Use this to pull back an offer sent to the wrong talent or with the wrong terms: it cancels the pending offer and voids its contract so it can no longer be signed. No invoice is generated (an unsigned offer was never billable). For an already-accepted (active) contract use ``terminate_org_hiring`` instead - this returns an error if the offer is no longer pending. Args: hiring_id: Pending offer to withdraw (status ``pending_acceptance`` from g8_marketplace_list_org_hirings).

### Inputs

| Input | Required | Type | Description |
|---|---|---|---|
| `hiring_id` | Yes | string | See the schema below for constraints and defaults. |

<details>
<summary>Complete input schema</summary>

```json
{
  "properties": {
    "hiring_id": {
      "title": "Hiring Id",
      "type": "string"
    }
  },
  "required": [
    "hiring_id"
  ],
  "title": "withdraw_org_marketplace_offerArguments",
  "type": "object"
}
```

</details>
