authentication

ESC

Show more

Use

to navigate results, ENTER to select one, ESC to close

Type in any word to easily find the endpoint, property or group of operations you are looking for.

API

No results found for query:

An error occured while performing your search, please contact Bump.sh support if it persists.

Dismiss highlightShow more






1099Policy API Reference 1.12

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

https://api.1099policy.com

The 1099Policy API is based on REST principles with resource-oriented URLs that accept JSON request bodies and return JSON responses. Use the 1099Policy API and the keys available on your 1099Policy Dashboard to offer contractors on your platform access to on-demand, pay-as-you-go insurance.

Use the development environment secret key to step through the process of procuring insurance using 1099Policy API for test contractors and job assignments. Because the API key you use to authenticate determines whether the request runs in our production environment or in our development environment, going live on the 1099Policy platform is as easy as replacing the development secret key with the production secret key once you're ready.

This is version 1.12 of this API documentation. Last update on Jul 18, 2026.

Authentication

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

To use the 1099Policy API you need to authenticate requests using API keys. Sign up for a developer account to view and manage your API keys from the 1099Policy Dashboard. https://dashboard.1099policy.com/signup

Your API tokens should be guarded closely. As a reminder, do not share your secret API keys in publicly accessible areas such as GitHub or client-side code, for example. Instead use environment variables, web server settings, startup script, or a configuration file that is excluded from your version control.

Test mode secret keys have the prefix t9k_test_ and live mode secret keys have the prefix t9k_live_.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

  curl \
    -X GET https://api.1099policy.com/api/v1/contractors \
    -H "Authorization: Basic t9k_test_wvnsjtZ8aMlbfGbIm0Lc0"

Environment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

Clients can make requests to either the sandbox or production environment by using the header Ten99Policy-Environment and specifying either sandbox or production. The default is sandbox.

  curl \
    -X GET https://api.1099policy.com/api/v1/contractors \
    -H "Authorization: Basic t9k_test_wvnsjtZ8aMlbfGbIm0Lc0" \
    -H "Ten99Policy-Environment: production"

Errors

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

1099Policy uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success. Codes in the 4xx range indicate an error due to the the information provided (e.g., a required parameter was omitted, a create policy request failed, etc.). Codes in the 5xx range indicate an error with 1099Policy's servers (these are rare).

Some 4xx errors that could be handled programmatically (e.g., contractor ineligible for coverage) include an error code that briefly explains the error reported.

Handling Errors

Our API libraries raise exceptions for many reasons, such as a failed create policy request, invalid parameters, authentication errors, and network unavailability. We recommend writing code that gracefully handles all possible API exceptions.

  200   (OK) Everything worked as expected.
  400   (Bad Request) Check for a missing required parameter.
  401   (Unauthorized) No valid API key provided.
  403   (Forbidden) Confirm API key has permissions to make request.
  404   (Not Found) The requested resource doesn't exist.
  429   (Too Many Requests) Too many requests to the API too quickly.
  500   (Server Error) Something went wrong on 1099Policy's end.

Idempotent Requests

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

The 1099Policy API checks every request header for an an additional Ten99Policy-Idempotent-Key. We use this field to perform an idempotency check to avoid duplicate transfers in case of network failures or timeouts. For example, if a request to create a contractor fails to return a response due to a network connection error, you can retry the request with the same idempotency key to guarantee that no more than one contractor is created.

1099Policy's idempotency works by saving the resulting status code and body of the first request made for any given idempotency key, regardless of whether it succeeded or failed. Subsequent requests with the same key return the same result, including 500 errors.

We suggest using V4 UUIDs, or another random string with enough entropy to avoid collisions.

Keys expire after 24 hours, so a new request is generated if a key is reused outside of that time frame. Results are only saved if an API endpoint started executing. You can safely retry requests that fail validation or conflicts with another request that was executing concurrently.

All POST requests accept idempotency keys. Sending idempotency keys in GET and DELETE requests has no effect and should be avoided, as these requests are idempotent by definition.

  curl \
      -X POST https://api.1099policy.com/api/v1/jobs \
      -u t9k_test_wvnsjtZ8aMlbfGbIm0Lc0: \
      -H "Ten99Policy-Idempotent-Key: d9YozBtG5R" \
      -H 'Content-Type: application/json' \
      -d ...

Date Handling

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

All dates and timestamps in the 1099Policy API are represented as Unix timestamps (integers) and are always in UTC (Coordinated Universal Time). When sending date values in API requests, provide them as Unix timestamps representing UTC time.

Date Format

Dates are represented as Unix timestamps (seconds since January 1, 1970 UTC). For example, 1705312800 represents January 15, 2024 at 10:00:00 AM UTC.

Same-Day Date Handling

When creating quotes or assignments, if the end_date and effective_date are on the same day, the API automatically adjusts the end_date to the start of the next day (midnight UTC). This ensures proper date range validation and prevents same-day date conflicts.

Date Validation Rules

When working with dates in your application, ensure you convert local times to UTC before sending timestamps to the API. All date comparisons and validations performed by the API use UTC.


{
  "effective_date": 1705312800,
  "end_date": 1705338000
}

In the example above, both dates are on the same day (January 15, 2024), so the API will automatically adjust end_date to January 16, 2024 00:00:00 UTC.

Contractor

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

A Contractor object represents the contractor that can accept one or more jobs on your platform. The API allows you to create, delete, and update contractors. You can retrieve individual contractors as well as a list of all contractors.

List all contractors

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/contractors

Returns a list of your contractors. The contractors are returned sorted by creation date, with the most recent contractors appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an contractor ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with cn_fOo123, your subsequent call can include starting_after=cn_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an contractor ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with cn_bAr123, your subsequent call can include ending_before=cn_bAr123 in order to fetch the previous page of the list.

string

A case-sensitive filter on the list based on the contractor's email attribute. The value must be a string.

Responses

application/json

Returns an array of contractor objects. If no more contractors are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

object

The contractor's home address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string | null

The contractor's business name.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

Set of key-value pairs that you can attach to the contractor object. Used for storing additional information in a structured format. Individual keys can be unset by posting an empty value to them. Pass an empty value, e.g. {}, to custom_metadata to unset all keys.

string

The contractor's email address.

string

The contractor's first name.

string

Unique identifier for the object.

string

The contractor's last name.

string | null

The contractor's middle name.

string

The contractor's phone number.

This indicates whether the contractor is paying premium directly with their credit card (i.e., false) or if the contractor has given the platform that's integrating with 1099Policy permission to withhold the premium payment from their wages and pay the premium on the contractor's behalf (i.e., true). Defaults to false.

Default value is false.

curl \
 --request GET 'https://api.1099policy.com/api/v1/contractors'
[\
  {\
    "address": {\
      "country": "null",\
      "line1": "92 Geary St",\
      "line2": "null",\
      "locality": "San Francisco",\
      "postalcode": 94114,\
      "region": "CA"\
    },\
    "company_name": "Acme Co.",\
    "created": 1646818364,\
    "custom_metadata": {\
      "campaign": "Red Bull"\
    },\
    "email": "parker@gmail.com",\
    "first_name": "Joe",\
    "id": "cn_Ehb3bYa",\
    "last_name": "Parker",\
    "middle_name": "null",\
    "phone": "415-474-9088",\
    "withhold_premium": false\
  }\
]

Create a contractor

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/contractors

Creates a new contractor object.

application/json

Body

objectRequired

The contractor's home address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

stringRequired

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

stringRequired

City/District/Suburb/Town/Village.

stringRequired

ZIP or postal code.

stringRequired

2-letter state code.

string

The contractor's business name.

object

Set of key-value pairs that you can attach to an object. Used to store additional information about the contractor in a structured format.

stringRequired

The contractor's email address.

stringRequired

The contractor's first name.

stringRequired

The contractor's last name.

string

The contractor's middle name.

string

The contractor's phone number.

string

The contractor's tax identification number. For example, an employer identification number (EIN) if the contractor operates as a corporate entity or a social security number if the contractor operates as a sole proprietor.

boolean

Responses

application/json

Returns the contractor object if the post succeeded.

Hide response attributesShow response attributesobject

object

The contractor's home address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string | null

The contractor's business name.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

string

The contractor's email address.

string

The contractor's first name.

string

Unique identifier for the object.

string

The contractor's last name.

string | null

The contractor's middle name.

string

The contractor's phone number.

Default value is false.

curl \
 --request POST 'https://api.1099policy.com/api/v1/contractors' \
 --header "Content-Type: application/json" \
 --data '{"address":{"country":"null","line1":"92 Geary St","line2":"null","locality":"San Francisco","postalcode":94114,"region":"CA"},"company_name":"string","custom_metadata":{},"email":"string","first_name":"string","last_name":"string","middle_name":"string","phone":"string","tax_identification":"string","withhold_premium":true}'
{
  "address": {
    "country": "null",
    "line1": "92 Geary St",
    "line2": "null",
    "locality": "San Francisco",
    "postalcode": 94114,
    "region": "CA"
  },
  "company_name": "string",
  "custom_metadata": {},
  "email": "string",
  "first_name": "string",
  "last_name": "string",
  "middle_name": "string",
  "phone": "string",
  "tax_identification": "string",
  "withhold_premium": true
}
{
  "address": {
    "country": "null",
    "line1": "92 Geary St",
    "line2": "null",
    "locality": "San Francisco",
    "postalcode": 94114,
    "region": "CA"
  },
  "company_name": "Acme Co.",
  "created": 1646818364,
  "custom_metadata": {
    "campaign": "Red Bull"
  },
  "email": "parker@gmail.com",
  "first_name": "Joe",
  "id": "cn_Ehb3bYa",
  "last_name": "Parker",
  "middle_name": "null",
  "phone": "415-474-9088",
  "withhold_premium": false
}

Retrieve a contractor

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/contractors/{contractor}

Retrieves the details of an existing contractor. You need only supply the unique contractor identifier that was returned upon contractor creation.

Path parameters

stringRequired

The ID of the desired contractor (e.g., cn_Ehb3bYa).

Responses

application/json

Returns a contractor object if a valid identifier was provided.

Hide response attributesShow response attributesobject

object

The contractor's home address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string | null

The contractor's business name.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

string

The contractor's email address.

string

The contractor's first name.

string

Unique identifier for the object.

string

The contractor's last name.

string | null

The contractor's middle name.

string

The contractor's phone number.

Default value is false.

curl \
 --request GET 'https://api.1099policy.com/api/v1/contractors/cn_Ehb3bYa'

Update a contractor

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/contractors/{contractor}

Updates the specified contractor by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

This request accepts mostly the same arguments as the contractor creation call.

Path parameters

stringRequired

The ID of the desired contractor (e.g., cn_Ehb3bYa).

application/json

Body

object

The contractor's home address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string

The contractor's business name.

object

Set of key-value pairs that you can attach to an object. Used to store additional information about the contractor in a structured format. Individual keys can be unset by posting an empty value to them. Pass an empty value, e.g. {}, to custom_metadata to unset all keys.

string

The contractor's email address.

string

The contractor's first name.

string

The contractor's last name.

string

The contractor's middle name.

string

The contractor's phone number.

boolean

Responses

application/json

Returns the contractor object if the update succeeded. Returns an error if update parameters are invalid.

Hide response attributesShow response attributesobject

object

The contractor's home address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string | null

The contractor's business name.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

string

The contractor's email address.

string

The contractor's first name.

string

Unique identifier for the object.

string

The contractor's last name.

string | null

The contractor's middle name.

string

The contractor's phone number.

Default value is false.

curl \
 --request PUT 'https://api.1099policy.com/api/v1/contractors/cn_Ehb3bYa' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"address\": {\n    \"line1\": \"123 Main St.\",\n    \"locality\": \"San Francisco\",\n    \"postalcode\": \"94105\",\n    \"region\": \"CA\"\n  },\n  \"company_name\": \"Acme Co.\",\n  \"custom_metadata\": {\n    \"campaign\": \"Red Bull\"\n  },\n  \"email\": \"parker@gmail.com\",\n  \"first_name\": \"Joe\",\n  \"last_name\": \"Parker\",\n  \"middle_name\": \"Doe\",\n  \"phone\": \"415-474-9088\"\n}"'
{
  "address": {
    "line1": "123 Main St.",
    "locality": "San Francisco",
    "postalcode": "94105",
    "region": "CA"
  },
  "company_name": "Acme Co.",
  "custom_metadata": {
    "campaign": "Red Bull"
  },
  "email": "parker@gmail.com",
  "first_name": "Joe",
  "last_name": "Parker",
  "middle_name": "Doe",
  "phone": "415-474-9088"
}

Delete a contractor

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/contractors/{contractor}

Permanently deletes a contractor. It cannot be undone. Also immediately cancels any active policies connected with the contractor.

Path parameters

stringRequired

The ID of the desired contractor (e.g., cn_Ehb3bYa).

Responses

application/json

Returns an object with a deleted parameter on success. If the contractor ID does not exist, this call returns an error.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the contractor was deleted.

string

The contractor ID.

string

Default value is contractor.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/contractors/cn_Ehb3bYa'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "cn_Ehb3bYa",
  "object": "contractor"
}

Generate login link

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/contractors/{contractor}/login_link

Generates a secure, time-limited login URL for contractor portal access. This allows agencies to provide direct portal access without requiring contractors to go through email verification.

Path parameters

stringRequired

The contractor's public ID

application/json

Body

string

URL to redirect the contractor to after successful authentication. Must match an allowlisted origin.

Responses

application/json

Login link generated successfully

Hide response attributesShow response attributesobject

object Hide contractor attributesShow contractor attributesobject

string

string

string

integer

string

string

integer(int64)

Time at which the login token expires. Measured in seconds since the Unix epoch.

string

Complete login URL with embedded token

boolean

Contractor has no email address, or the supplied redirect_url is not an allowlisted origin.

Contractor not found

Failed to generate login link

curl \
 --request POST 'https://api.1099policy.com/api/v1/contractors/{contractor}/login_link' \
 --header "Content-Type: application/json" \
 --data '{"redirect_url":"https://my.1099policy.com/insurance/start"}'
{
  "redirect_url": "https://my.1099policy.com/insurance/start"
}
{
  "contractor": {
    "company_name": "string",
    "email": "string",
    "first_name": "string",
    "id": 42,
    "last_name": "string",
    "public_id": "string"
  },
  "expires_at": 1765555200,
  "login_url": "https://my.1099policy.com/quick-access?contractor_id=cn_abc123&token=xyz789",
  "success": true
}

Entity

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

The Entity object represents the contracting entity responsible for defining the job descriptions and for hiring contractors.

The API allows you to create, delete, and update entities. You can retrieve individual entities as well as a list of all entities.

List all entities

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/entities

Returns a list of your contracting entities. The entities are returned sorted by creation date, with the most recent entities appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an entity ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with en_fOo123, your subsequent call can include starting_after=en_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an entity ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with en_bAr123, your subsequent call can include ending_before=en_bAr123 in order to fetch the previous page of the list.

Responses

application/json

Returns an array of entity objects. If no more entities are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

object

The contracting entity's address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

object

The contracting entity's minimum required coverage limits.

Hide coverage_limit attributesShow coverage_limit attributesobject

integerRequired

The total amount the insurance company will pay for multiple claims over the course of one policy term.

A positive integer representing the aggregate limit expressed in cents (e.g., 100000000 cents to represent $1,000,000). The minimum amount is 1000 cents US.

integerRequired

The total amount the insurance company will pay per incident during the policy term.

A positive integer representing the per occurrence limit expressed in cents (e.g., 100000000 cents to represent $1,000,000). The minimum amount is 1000 cents US.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

The contracting entity's legal name.

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, professional and workers-comp.

Values are general, professional, or workers-comp.

curl \
 --request GET 'https://api.1099policy.com/api/v1/entities'
[\
  {\
    "address": {\
      "country": "null",\
      "line1": "92 Geary St",\
      "line2": "null",\
      "locality": "San Francisco",\
      "postalcode": 94114,\
      "region": "CA"\
    },\
    "coverage_limit": {\
      "aggregate_limit": 200000000,\
      "occurrence_limit": 100000000\
    },\
    "created": 1646818364,\
    "id": "en_Ah3tqYn",\
    "name": "Apple, Inc",\
    "required_coverage": [\
      "general",\
      "workers-comp"\
    ]\
  }\
]

Create an entity

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/entities

Creates a new contracting entity object.

application/json

Body

object

The contracting entity's address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

object

The contracting entity's minimum required coverage limits.

Hide coverage_limit attributesShow coverage_limit attributesobject

integerRequired

The total amount the insurance company will pay for multiple claims over the course of one policy term.

A positive integer representing the aggregate limit expressed in cents (e.g., 100000000 cents to represent $1,000,000). The minimum amount is 1000 cents US.

integerRequired

The total amount the insurance company will pay per incident during the policy term.

stringRequired

The contracting entity's legal name.

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, professional, workers-comp, media, and cyber.

Values are general, professional, workers-comp, media, or cyber.

Responses

application/json

Returns the entity object if the post succeeded.

Hide response attributesShow response attributesobject

object

The contracting entity's address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

object

The contracting entity's minimum required coverage limits.

Hide coverage_limit attributesShow coverage_limit attributesobject

integerRequired

The total amount the insurance company will pay for multiple claims over the course of one policy term.

A positive integer representing the aggregate limit expressed in cents (e.g., 100000000 cents to represent $1,000,000). The minimum amount is 1000 cents US.

integerRequired

The total amount the insurance company will pay per incident during the policy term.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

The contracting entity's legal name.

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, professional and workers-comp.

Values are general, professional, or workers-comp.

curl \
 --request POST 'https://api.1099policy.com/api/v1/entities' \
 --header "Content-Type: application/json" \
 --data '{"address":{"country":"null","line1":"92 Geary St","line2":"null","locality":"San Francisco","postalcode":94114,"region":"CA"},"coverage_limit":{"aggregate_limit":200000000,"occurrence_limit":100000000},"name":"string","required_coverage":["general","workers-comp"]}'
{
  "address": {
    "country": "null",
    "line1": "92 Geary St",
    "line2": "null",
    "locality": "San Francisco",
    "postalcode": 94114,
    "region": "CA"
  },
  "coverage_limit": {
    "aggregate_limit": 200000000,
    "occurrence_limit": 100000000
  },
  "name": "string",
  "required_coverage": [\
    "general",\
    "workers-comp"\
  ]
}
{
  "address": {
    "country": "null",
    "line1": "92 Geary St",
    "line2": "null",
    "locality": "San Francisco",
    "postalcode": 94114,
    "region": "CA"
  },
  "coverage_limit": {
    "aggregate_limit": 200000000,
    "occurrence_limit": 100000000
  },
  "created": 1646818364,
  "id": "en_Ah3tqYn",
  "name": "Apple, Inc",
  "required_coverage": [\
    "general",\
    "workers-comp"\
  ]
}

Retrieve an entity

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/entities/{entity}

Retrieves the details of an existing entity. You need only supply the unique entity ID that was returned upon entity creation.

Path parameters

stringRequired

The ID of the desired entity (e.g., en_Ah3tqYn).

Responses

application/json

Returns an entity object if a valid entity ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

object

The contracting entity's address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

object

The contracting entity's minimum required coverage limits.

Hide coverage_limit attributesShow coverage_limit attributesobject

integerRequired

The total amount the insurance company will pay for multiple claims over the course of one policy term.

A positive integer representing the aggregate limit expressed in cents (e.g., 100000000 cents to represent $1,000,000). The minimum amount is 1000 cents US.

integerRequired

The total amount the insurance company will pay per incident during the policy term.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

The contracting entity's legal name.

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, professional and workers-comp.

Values are general, professional, or workers-comp.

curl \
 --request GET 'https://api.1099policy.com/api/v1/entities/en_Ah3tqYn'

Update an entity

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/entities/{entity}

Updates the specified entity by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

This request accepts mostly the same arguments as the entity creation call.

Path parameters

stringRequired

The ID of the desired entity (e.g., en_Ah3tqYn).

application/json

Body

object

The contracting entity's address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

object

The contracting entity's minimum required coverage limits.

Hide coverage_limit attributesShow coverage_limit attributesobject

integerRequired

The total amount the insurance company will pay for multiple claims over the course of one policy term.

A positive integer representing the aggregate limit expressed in cents (e.g., 100000000 cents to represent $1,000,000). The minimum amount is 1000 cents US.

integerRequired

The total amount the insurance company will pay per incident during the policy term.

string

The contracting entity's legal name.

array[string]

Values are general, professional, workers-comp, media, or cyber.

Responses

application/json

Returns the entity object if the update succeeded. Returns an error if update parameters are invalid.

Hide response attributesShow response attributesobject

object

The contracting entity's address.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

object

The contracting entity's minimum required coverage limits.

Hide coverage_limit attributesShow coverage_limit attributesobject

integerRequired

The total amount the insurance company will pay for multiple claims over the course of one policy term.

A positive integer representing the aggregate limit expressed in cents (e.g., 100000000 cents to represent $1,000,000). The minimum amount is 1000 cents US.

integerRequired

The total amount the insurance company will pay per incident during the policy term.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

The contracting entity's legal name.

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, professional and workers-comp.

Values are general, professional, or workers-comp.

curl \
 --request PUT 'https://api.1099policy.com/api/v1/entities/en_Ah3tqYn' \
 --header "Content-Type: application/json" \
 --data '{"address":{"country":"null","line1":"92 Geary St","line2":"null","locality":"San Francisco","postalcode":94114,"region":"CA"},"coverage_limit":{"aggregate_limit":200000000,"occurrence_limit":100000000},"name":"string","required_coverage":["general","workers-comp"]}'

Delete an entity

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/entities/{entity}

Permanently deletes an entity. It cannot be undone. Also immediately cancels any insurance policies connected with active jobs managed by the entity.

Path parameters

stringRequired

The ID of the desired entity (e.g., en_Ah3tqYn).

Responses

application/json

A successfully deleted entity. Otherwise, this call returns an error, such as if the entity has already been deleted.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the entity was deleted.

string

The entity ID.

string

Default value is entity.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/entities/en_Ah3tqYn'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "en_Ah3tqYn",
  "object": "entity"
}

Job

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

Store representations of the jobs on your platform in Job objects. The Job is used to, among other things, ensure that the insurance coverage that the 1099Policy platform issues correctly maps to the work that contractors will do.

List all jobs

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/jobs

Returns a list of your jobs. The jobs are returned sorted by creation date, with the most recently created jobs appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an job ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with jb_fOo123, your subsequent call can include starting_after=jb_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an job ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with jb_bAr123, your subsequent call can include ending_before=jb_bAr123 in order to fetch the previous page of the list.

Responses

application/json

Returns an array of job objects. If no more jobs are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

object

The job address where the work will be done. Exclude if job will be done remotely.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string

The category code that 1099Policy creates for a group of similarly classified jobs.

Job category codes are pre-approved by 1099Policy so you can offer contractors insurance to new jobs on your platform in real time.

To generate pre-approved category codes for a group of similarly classified jobs visit the 1099Policy Dashboard.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

Set of key-value pairs that you can attach to the job object. Used for storing additional information in a structured format. Individual keys can be unset by posting an empty value to them. Pass an empty value, e.g. {}, to custom_metadata to unset all keys. The purchase_order_number key is recognized: invoices created for this job inherit it as their purchase order number (overridable or clearable per invoice via the invoice endpoints).

string

A description of the job that includes the role, responsibilities and necessary qualifications.

string

The entity ID for whom the work is being done.

string

Unique identifier for the object.

string

The name of the contractor job role.

integer

A positive integer representing the total wage (e.g., 1500 cents is $15.00). The minimum wage amount is 100 cents US. The maximum wage amount is 100000000 cents US ($1,000,000).

Minimum value is 100, maximum value is 100000000.

One of flatfee, hourly, unit or blended.

Values are flatfee, hourly, unit, or blended.

integer

The number of years of experience required to be eligible for the job.

curl \
 --request GET 'https://api.1099policy.com/api/v1/jobs'
[\
  {\
    "address": {\
      "country": "null",\
      "line1": "92 Geary St",\
      "line2": "null",\
      "locality": "San Francisco",\
      "postalcode": 94114,\
      "region": "CA"\
    },\
    "category_code": "jc_MTqpkbkp6G",\
    "created": 1646818364,\
    "custom_metadata": {\
      "campaign": "Red Bull"\
    },\
    "description": "Install fiber optic cable from back to the front of the store.",\
    "entity": "en_Ah3tqYn",\
    "id": "jb_jsb9KEcTpc",\
    "name": "Field technician",\
    "wage": 15000,\
    "wage_type": "flatfee",\
    "years_experience": 10\
  }\
]

Create a job

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/jobs

Creates a new job object. Used to classify the work that 1099Policy applies to insure the contractor.

application/json

Body

object

The job address where the work will be done. Exclude if job will be done remotely.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

stringRequired

2-letter state code.

stringRequired

The category code that 1099Policy creates for a group of similarly classified jobs.

Job category codes are pre-approved by 1099Policy so you can offer contractors insurance to new jobs on your platform in real time.

To generate pre-approved category codes for a group of similarly classified jobs visit the 1099Policy Dashboard.

object

Set of key-value pairs that you can attach to an object. Used to store additional information about the job in a structured format.

The purchase_order_number key is recognized: invoices created for this job inherit it as their purchase order number (overridable or clearable per invoice via the invoice endpoints).

stringRequired

A description of the job that includes the role, responsibilities and necessary qualifications.

stringRequired

The ID of an existing entity for whom the job is being done.

stringRequired

The name of the contractor job role.

integerRequired

A positive integer representing the wage (e.g., 1500 cents is $15.00). The minimum wage amount is $1.00 US.

Minimum value is 100.

stringRequired

One of flatfee, hourly, unit or blended.

Values are flatfee, hourly, unit, or blended.

boolean

integer

The number of years of experience required to be eligible for the job.

Responses

application/json

Returns the job object if the post succeeded.

Hide response attributesShow response attributesobject

object

The job address where the work will be done. Exclude if job will be done remotely.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string

The category code that 1099Policy creates for a group of similarly classified jobs.

Job category codes are pre-approved by 1099Policy so you can offer contractors insurance to new jobs on your platform in real time.

To generate pre-approved category codes for a group of similarly classified jobs visit the 1099Policy Dashboard.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

string

A description of the job that includes the role, responsibilities and necessary qualifications.

string

The entity ID for whom the work is being done.

string

Unique identifier for the object.

string

The name of the contractor job role.

integer

Minimum value is 100, maximum value is 100000000.

One of flatfee, hourly, unit or blended.

Values are flatfee, hourly, unit, or blended.

integer

The number of years of experience required to be eligible for the job.

curl \
 --request POST 'https://api.1099policy.com/api/v1/jobs' \
 --header "Content-Type: application/json" \
 --data '{"address":{"country":"null","line1":"92 Geary St","line2":"null","locality":"San Francisco","postalcode":94114,"region":"CA"},"category_code":"string","custom_metadata":{},"description":"string","entity":"string","name":"string","wage":42,"wage_type":"flatfee","withhold_premium":true,"years_experience":42}'
{
  "address": {
    "country": "null",
    "line1": "92 Geary St",
    "line2": "null",
    "locality": "San Francisco",
    "postalcode": 94114,
    "region": "CA"
  },
  "category_code": "string",
  "custom_metadata": {},
  "description": "string",
  "entity": "string",
  "name": "string",
  "wage": 42,
  "wage_type": "flatfee",
  "withhold_premium": true,
  "years_experience": 42
}
{
  "address": {
    "country": "null",
    "line1": "92 Geary St",
    "line2": "null",
    "locality": "San Francisco",
    "postalcode": 94114,
    "region": "CA"
  },
  "category_code": "jc_MTqpkbkp6G",
  "created": 1646818364,
  "custom_metadata": {
    "campaign": "Red Bull"
  },
  "description": "Install fiber optic cable from back to the front of the store.",
  "entity": "en_Ah3tqYn",
  "id": "jb_jsb9KEcTpc",
  "name": "Field technician",
  "wage": 15000,
  "wage_type": "flatfee",
  "years_experience": 10
}

Retrieve a job

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/jobs/{job}

Retrieves the details of an existing job. Supply the unique job ID from either a job creation request or the job list, and 1099Policy will return the corresponding job information.

Path parameters

stringRequired

The ID of the desired job (e.g., jb_jsb9KEcTpc).

Responses

application/json

Returns a job object if a valid job ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

object

The job address where the work will be done. Exclude if job will be done remotely.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string

The category code that 1099Policy creates for a group of similarly classified jobs.

Job category codes are pre-approved by 1099Policy so you can offer contractors insurance to new jobs on your platform in real time.

To generate pre-approved category codes for a group of similarly classified jobs visit the 1099Policy Dashboard.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

string

A description of the job that includes the role, responsibilities and necessary qualifications.

string

The entity ID for whom the work is being done.

string

Unique identifier for the object.

string

The name of the contractor job role.

integer

Minimum value is 100, maximum value is 100000000.

One of flatfee, hourly, unit or blended.

Values are flatfee, hourly, unit, or blended.

integer

The number of years of experience required to be eligible for the job.

curl \
 --request GET 'https://api.1099policy.com/api/v1/jobs/jb_jsb9KEcTpc'

Update a job

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/jobs/{job}

Updates the specific job by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

Path parameters

stringRequired

The ID of the desired job (e.g., jb_jsb9KEcTpc).

application/json

Body

object

The job address where the work will be done. Exclude if job will be done remotely.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

object

Set of key-value pairs that you can attach to an object. Used to store additional information about the job in a structured format.

string

A description of the job that includes the role, responsibilities and necessary qualifications.

string

The ID of an existing entity for whom the job is being done.

string

The name of the contractor job role.

integer

A positive integer representing the wage (e.g., 1500 cents is $15.00). The minimum wage amount is 100 cents US. The maximum wage amount is 1000000000 cents US ($10,000,000).

Minimum value is 100, maximum value is 1000000000.

string

One of flatfee, hourly, unit or blended.

Values are flatfee, hourly, unit, or blended.

boolean

integer

The number of years of experience required to be eligible for the job.

Responses

application/json

Returns an job object if a valid job ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

object

The job address where the work will be done. Exclude if job will be done remotely.

Hide address attributesShow address attributesobject

string | null

2-letter country code.

string

Address line 1 (Street address/PO Box).

string | null

Address line 2 (Apartment/Suite/Unit/Building).

string

City/District/Suburb/Town/Village.

string

ZIP or postal code.

string

2-letter state code.

string

The category code that 1099Policy creates for a group of similarly classified jobs.

Job category codes are pre-approved by 1099Policy so you can offer contractors insurance to new jobs on your platform in real time.

To generate pre-approved category codes for a group of similarly classified jobs visit the 1099Policy Dashboard.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

string

A description of the job that includes the role, responsibilities and necessary qualifications.

string

The entity ID for whom the work is being done.

string

Unique identifier for the object.

string

The name of the contractor job role.

integer

Minimum value is 100, maximum value is 100000000.

One of flatfee, hourly, unit or blended.

Values are flatfee, hourly, unit, or blended.

integer

The number of years of experience required to be eligible for the job.

curl \
 --request PUT 'https://api.1099policy.com/api/v1/jobs/jb_jsb9KEcTpc' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"address\": {\n    \"line1\": \"123 Main St\",\n    \"locality\": \"San Francisco\",\n    \"postalcode\": 94105,\n    \"region\": \"CA\"\n  },\n  \"description\": \"Install fiber optic cable from back to the front of the store.\",\n  \"entity\": \"en_Ah3tqYn\",\n  \"name\": \"Field technician\",\n  \"wage\": 1500,\n  \"wage_type\": \"hourly\",\n  \"years_experience\": 5\n}"'
{
  "address": {
    "line1": "123 Main St",
    "locality": "San Francisco",
    "postalcode": 94105,
    "region": "CA"
  },
  "description": "Install fiber optic cable from back to the front of the store.",
  "entity": "en_Ah3tqYn",
  "name": "Field technician",
  "wage": 1500,
  "wage_type": "hourly",
  "years_experience": 5
}

Delete a job

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/jobs/{job}

Delete a job. Deleting a job is only possible if it has no insurance policies associated with it.

Path parameters

stringRequired

The ID of the desired job (e.g., jb_jsb9KEcTpc).

Responses

application/json

Returns an object with a deleted parameter on success. Otherwise, this call returns an error.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the job was deleted.

string

The job ID.

string

Default value is job.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/jobs/jb_jsb9KEcTpc'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "jb_jsb9KEcTpc",
  "object": "job"
}

Category Code

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

The job category code object represents the pre-approved job category name and unique code that you receive when you onboard onto 1099Policy. Use this read-only endpoint to get your full list of the job category names and codes that your organization is pre-approved to use.

List all category codes

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/category_codes

Returns a list of your approved job category codes. The job category codes are returned sorted by approval date, with the most recently approved job categories appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

Responses

application/json

Returns an array of job category code objects. If no more job category codes are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

string

Unique identifier for the object.

string

The name of the job category code.

curl \
 --request GET 'https://api.1099policy.com/api/v1/category_codes'
[\
  {\
    "category_code": "jc_MTqpkbkp6G",\
    "name": "Spokesperson / Influencer"\
  }\
]

Certificate

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

A Certificate object represents a Certificate of Insurance (COI) document that a contractor has provided to demonstrate they have their own insurance coverage. Use the Certificate API to upload, retrieve, and manage these documents as contractors bring their own insurance to your platform.

When a contractor provides their own Certificate of Insurance, you can upload the PDF document using the Certificate API. The platform will automatically process the document and evaluate it against your organization's pre-defined insurance requirements. This evaluation is performed asynchronously, and you can retrieve the review results to determine whether the certificate satisfies your insurance requirements.

The Certificate API supports retrieving abbreviated review results that provide a summary of the evaluation, or expanded review results that include the full parsed certificate data and detailed audit results for each insurance requirement. Use the expand parameter to control the level of detail returned in the response.

List all certificates.

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/files/certificates

Returns a list of certificates. The certificates are returned sorted by creation date, with the most recently created certificates appearing first. Supports pagination using starting_after and ending_before.

Query parameters

integer

A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is a certificate ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with ca_123, your subsequent call can include starting_after=ca_123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is a certificate ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with ca_456, your subsequent call can include ending_before=ca_456 in order to fetch the previous page of the list.

array[string]

Specifies which fields in the response should be expanded. Use expand[]=review_results for abbreviated review results, or expand[]=review_results.full for full review results including parsed certificate data and detailed audit results.

Responses

application/json

Returns an array of certificate objects. If no more certificates are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

string

The ID of the contractor associated with this certificate.

integer(int64)

Time at which the certificate was uploaded.

string

The original filename of the uploaded PDF.

string

Unique identifier for the certificate.

string | null

URL to access the certificate PDF. This will be null until the certificate has been processed and stored.

object | null

Review results from the certificate evaluation. This will be null until processing completes. Use expand[]=review_results to include abbreviated results, or expand[]=review_results.full for complete details.

Hide review_results attributesShow review_results attributesobject | null

array[object]

Detailed results for each insurance requirement evaluation (expanded format only).

Hide audit_results attributesShow audit_results attributesobject

integer

Timestamp when this result was created.

string

boolean

Whether this result was manually approved.

string

Human-readable message about the evaluation result.

string

Whether this requirement passed or failed.

Values are pass or fail.

string

Human-readable name of the rule.

string

The path to the rule being evaluated.

integer

Timestamp when the audit was created.

string

The ID of the certificate audit.

object

Full parsed certificate data extracted from the PDF (expanded format only). Contains structured data including coverages, limits, dates, and parties.

string

The final evaluation status.

Values are pending, processing, approved, flagged, denied, or error.

object

Summary of rule evaluation (abbreviated format only).

Hide summary attributesShow summary attributesobject

integer

Number of requirements that failed.

integer

Number of requirements that passed.

integer

Total number of insurance requirements evaluated.

integer

Timestamp when the audit was last updated.

string

The current processing status of the certificate. Status transitions: pending → processing → (approved | flagged | denied | error). Use polling or webhooks to monitor status changes.

Values are pending, processing, approved, flagged, denied, or error.

integer(int64)

Time at which the certificate was last updated.

curl \
 --request GET 'https://api.1099policy.com/api/v1/files/certificates'
[\
  {\
    "contractor": "cn_xyz789",\
    "created": 1646818364,\
    "filename": "certificate_of_insurance.pdf",\
    "id": "ci_abc123",\
    "pdf_url": "https://storage.example.com/certificates/ci_abc123.pdf",\
    "review_results": {\
      "audit_results": [\
        {\
          "created": 42,\
          "id": "car_result123",\
          "manually_approved": true,\
          "message": "string",\
          "result": "pass",\
          "rule_name": "CGL Limits",\
          "rule_path": "coverages.commercial_general_liability.limits"\
        }\
      ],\
      "created": 42,\
      "id": "ca_audit123",\
      "parsed_certificate_json": {},\
      "status": "pending",\
      "summary": {\
        "failed": 0,\
        "passed": 5,\
        "total_rules": 5\
      },\
      "updated": 42\
    },\
    "status": "pending",\
    "updated": 1646818364\
  }\
]

Create a new certificate.

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/files/certificates

Uploads a new Certificate of Insurance (COI) PDF file, validates it, and creates a certificate record. The certificate processing is performed asynchronously in the background. The initial response indicates that the certificate has been accepted for processing with a status of "pending".

Asynchronous Processing:

After uploading a certificate, the platform automatically processes the document and evaluates it against your organization's pre-defined insurance requirements. This evaluation happens asynchronously, so the initial response will have:

Monitoring Certificate Status:

You can monitor the certificate status in two ways:

  1. Polling: Periodically retrieve the certificate using the GET endpoint to check the status field. The status will transition from "pending" → "processing" → ("approved" | "flagged" | "denied" | "error") as processing completes.

  2. Webhooks: Register a webhook endpoint to receive real-time notifications when processing completes. The following events are sent:

Retrieving Review Results:

Once processing is complete, use the expand[]=review_results parameter when retrieving the certificate to get abbreviated review results, or expand[]=review_results.full for complete details including parsed certificate data and detailed audit results.

multipart/form-data

Body

string(binary)Required

The certificate PDF file to be uploaded (max 15MB).

stringRequired

The ID of the contractor associated with the certificate.

Responses

application/json

Returns the created certificate object. The certificate has been accepted for processing and will have a status of "pending". Processing happens asynchronously, and you can monitor the status via polling or webhooks.

Hide response attributesShow response attributesobject

string

The ID of the contractor associated with this certificate.

integer(int64)

Time at which the certificate was uploaded.

string

The original filename of the uploaded PDF.

string

Unique identifier for the certificate.

string | null

URL to access the certificate PDF. This will be null until the certificate has been processed and stored.

object | null

Hide review_results attributesShow review_results attributesobject | null

array[object]

Detailed results for each insurance requirement evaluation (expanded format only).

Hide audit_results attributesShow audit_results attributesobject

integer

Timestamp when this result was created.

string

boolean

Whether this result was manually approved.

string

Human-readable message about the evaluation result.

string

Whether this requirement passed or failed.

Values are pass or fail.

string

Human-readable name of the rule.

string

The path to the rule being evaluated.

integer

Timestamp when the audit was created.

string

The ID of the certificate audit.

object

Full parsed certificate data extracted from the PDF (expanded format only). Contains structured data including coverages, limits, dates, and parties.

string

The final evaluation status.

Values are pending, processing, approved, flagged, denied, or error.

object

Summary of rule evaluation (abbreviated format only).

Hide summary attributesShow summary attributesobject

integer

Number of requirements that failed.

integer

Number of requirements that passed.

integer

Total number of insurance requirements evaluated.

integer

Timestamp when the audit was last updated.

string

Values are pending, processing, approved, flagged, denied, or error.

integer(int64)

Time at which the certificate was last updated.

curl \
 --request POST 'https://api.1099policy.com/api/v1/files/certificates' \
 --header "Content-Type: multipart/form-data" \
 --form "certificate=@file" \
 --form "contractor=string"
{
  "contractor": "cn_xyz789",
  "created": 1646818364,
  "filename": "certificate_of_insurance.pdf",
  "id": "ci_abc123",
  "pdf_url": "https://storage.example.com/certificates/ci_abc123.pdf",
  "review_results": {
    "audit_results": [\
      {\
        "created": 42,\
        "id": "car_result123",\
        "manually_approved": true,\
        "message": "string",\
        "result": "pass",\
        "rule_name": "CGL Limits",\
        "rule_path": "coverages.commercial_general_liability.limits"\
      }\
    ],
    "created": 42,
    "id": "ca_audit123",
    "parsed_certificate_json": {},
    "status": "pending",
    "summary": {
      "failed": 0,
      "passed": 5,
      "total_rules": 5
    },
    "updated": 42
  },
  "status": "pending",
  "updated": 1646818364
}

Retrieve a certificate.

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/files/certificates/{certificate}

Retrieves the details of an existing certificate by its ID. Use this endpoint to poll for certificate status updates during asynchronous processing.

Certificate Status Lifecycle:

The certificate status transitions through the following states:

Retrieving Review Results:

Once processing is complete, use the expand parameter to retrieve review results:

Path parameters

stringRequired

The ID of the desired certificate.

Query parameters

array[string]

Responses

application/json

Returns a certificate object if a valid certificate ID was provided. The status field indicates the current processing state, and review_results will be null until processing completes.

Hide response attributesShow response attributesobject

string

The ID of the contractor associated with this certificate.

integer(int64)

Time at which the certificate was uploaded.

string

The original filename of the uploaded PDF.

string

Unique identifier for the certificate.

string | null

URL to access the certificate PDF. This will be null until the certificate has been processed and stored.

object | null

Hide review_results attributesShow review_results attributesobject | null

array[object]

Detailed results for each insurance requirement evaluation (expanded format only).

Hide audit_results attributesShow audit_results attributesobject

integer

Timestamp when this result was created.

string

boolean

Whether this result was manually approved.

string

Human-readable message about the evaluation result.

string

Whether this requirement passed or failed.

Values are pass or fail.

string

Human-readable name of the rule.

string

The path to the rule being evaluated.

integer

Timestamp when the audit was created.

string

The ID of the certificate audit.

object

Full parsed certificate data extracted from the PDF (expanded format only). Contains structured data including coverages, limits, dates, and parties.

string

The final evaluation status.

Values are pending, processing, approved, flagged, denied, or error.

object

Summary of rule evaluation (abbreviated format only).

Hide summary attributesShow summary attributesobject

integer

Number of requirements that failed.

integer

Number of requirements that passed.

integer

Total number of insurance requirements evaluated.

integer

Timestamp when the audit was last updated.

string

Values are pending, processing, approved, flagged, denied, or error.

integer(int64)

Time at which the certificate was last updated.

Certificate not found

curl \
 --request GET 'https://api.1099policy.com/api/v1/files/certificates/ci_YnsHeB9PTo'

Delete a certificate.

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/files/certificates/{certificate}

Deletes an existing certificate by its ID.

Path parameters

stringRequired

The ID of the certificate to delete.

Responses

application/json

Returns an object with a deleted parameter on success. Otherwise, this call returns an error.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the certificate was deleted.

string

The certificate ID.

string

Default value is certificate.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/files/certificates/ci_YnsHeB9PTo'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "ci_YnsHeB9PTo",
  "object": "certificate"
}

Quote

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

The Quote object reflects whether a contractor is eligible for insurance and the premium owed for every $100 earned.

List all quotes

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/quotes

Returns a list of quotes you've previously created. The quotes are returned in sorted order, with the most recent quotes appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an quote ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with qt_fOo123, your subsequent call can include starting_after=qt_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an quote ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with qt_bAr123, your subsequent call can include ending_before=qt_bAr123 in order to fetch the previous page of the list.

Responses

application/json

Returns an array of quote objects. If no more quotes are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

string

ID of the contractor.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string(int64)

The date when the insurance coverage is set to take effect. Measured in seconds since the Unix epoch. This date must be set in the future. The default effective_date is the next day.

boolean

Indicates whether a contractor is elgible for insurance or not.

Default value is true.

string(int64)

The date when the insurance coverage is set to expire. Measured in seconds since the Unix epoch. This date must be after the effective date. The default end_date is 30 days after the effective date.

integer

The amount of money the 1099 contractor pays in general liability premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The gl_net_rate is stored in cents (e.g., 48 represents $0.48).

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

object

The JSON representation of component parts that make up the total premium amount due including, for example, the net rate, taxes, and fees.

integer

The amount of money the 1099 contractor pays in workers comp premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The wc_net_rate is stored in cents (e.g., 48 represents $0.48).

curl \
 --request GET 'https://api.1099policy.com/api/v1/quotes'
[\
  {\
    "contractor": "cn_Ehb3bYa",\
    "coverage_type": [\
      "general",\
      "workers-comp"\
    ],\
    "created": 1646818364,\
    "effective_date": 1646818364,\
    "eligible": true,\
    "end_date": 1678334737,\
    "gl_net_rate": 20,\
    "id": "qt_5DciVga8Kt",\
    "job": "jb_jsb9KEcTpc",\
    "net_rate": 65,\
    "quote_json": {\
      "gl": {\
        "net_rate": 20,\
        "risk_purchasing_group_fee": null,\
        "stamping_fee": null\
      },\
      "wc": {\
        "net_rate": 45\
      }\
    },\
    "wc_net_rate": 45\
  }\
]

Create a quote

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/quotes

To provide insurance coverage to contractors on your platform, you first create a Quote object. If you use your test API keys, everything will occur as if in production but the policy that's generated will be a test policy.

application/json

Body

boolean

Controls how the request behaves when the contractor already has a matching policy for the requested coverage. When true (the default), the request is rejected with a contractor_has_matching_policy error. When false, the endpoint behaves like a "get or create" and instead returns the existing quote tied to the matching policy (with a 200 status), so you can surface its rates and fees—for example, to let a returning contractor opt in—without creating a duplicate. Defaults to true.

Default value is true.

stringRequired

The ID of the contractor seeking a quote for insurance coverage.

array[string]Required

An array of coverage types that can include one or more of the following insurance coverage values: general, professional, workers-comp, media, and cyber. Note that media and cyber coverage requires general coverage, except for Hawaii (HI) residents where general liability is not available.

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

integer(int64)

The date when the insurance coverage is set to expire. Measured in seconds since the Unix epoch. This date must be after the effective date. If the end_date is on the same day as the effective_date, it will automatically be adjusted to the start of the next day. The default end_date is 30 days after the effective date.

stringRequired

The ID of the job assignment that the contractor will be working on.

Responses

application/json

Returned when bind is false and the contractor already has a matching policy. The body is the existing quote tied to that policy rather than a newly created one.

Hide response attributesShow response attributesobject

string

ID of the contractor.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string(int64)

boolean

Indicates whether a contractor is elgible for insurance or not.

Default value is true.

string(int64)

integer

The amount of money the 1099 contractor pays in general liability premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The gl_net_rate is stored in cents (e.g., 48 represents $0.48).

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

object

The JSON representation of component parts that make up the total premium amount due including, for example, the net rate, taxes, and fees.

integer

The amount of money the 1099 contractor pays in workers comp premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The wc_net_rate is stored in cents (e.g., 48 represents $0.48).

application/json

Returns the quote object if the post succeeded.

Hide response attributesShow response attributesobject

string

ID of the contractor.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string(int64)

boolean

Indicates whether a contractor is elgible for insurance or not.

Default value is true.

string(int64)

integer

The amount of money the 1099 contractor pays in general liability premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The gl_net_rate is stored in cents (e.g., 48 represents $0.48).

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

object

The JSON representation of component parts that make up the total premium amount due including, for example, the net rate, taxes, and fees.

integer

The amount of money the 1099 contractor pays in workers comp premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The wc_net_rate is stored in cents (e.g., 48 represents $0.48).

curl \
 --request POST 'https://api.1099policy.com/api/v1/quotes' \
 --header "Content-Type: application/json" \
 --data '{"bind":true,"contractor":"string","coverage_type":["general"],"effective_date":42,"end_date":42,"job":"string"}'
{
  "bind": true,
  "contractor": "string",
  "coverage_type": [\
    "general"\
  ],
  "effective_date": 42,
  "end_date": 42,
  "job": "string"
}
{
  "contractor": "cn_Ehb3bYa",
  "coverage_type": [\
    "general",\
    "workers-comp"\
  ],
  "created": 1646818364,
  "effective_date": 1646818364,
  "eligible": true,
  "end_date": 1678334737,
  "gl_net_rate": 20,
  "id": "qt_5DciVga8Kt",
  "job": "jb_jsb9KEcTpc",
  "net_rate": 65,
  "quote_json": {
    "gl": {
      "net_rate": 20,
      "risk_purchasing_group_fee": null,
      "stamping_fee": null
    },
    "wc": {
      "net_rate": 45
    }
  },
  "wc_net_rate": 45
}

Retrieve a quote

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/quotes/{quote}

Retrieves the details of a previously created quote. Supply the unique quote ID that was returned from your previous request, and 1099Policy will return the corresponding quote information.

Path parameters

stringRequired

The ID of the desired quote (e.g., qt_5DciVga8Kt).

Responses

application/json

Returns a quote object if a valid identifier was provided.

Hide response attributesShow response attributesobject

string

ID of the contractor.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string(int64)

boolean

Indicates whether a contractor is elgible for insurance or not.

Default value is true.

string(int64)

integer

The amount of money the 1099 contractor pays in general liability premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The gl_net_rate is stored in cents (e.g., 48 represents $0.48).

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

object

The JSON representation of component parts that make up the total premium amount due including, for example, the net rate, taxes, and fees.

integer

The amount of money the 1099 contractor pays in workers comp premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The wc_net_rate is stored in cents (e.g., 48 represents $0.48).

curl \
 --request GET 'https://api.1099policy.com/api/v1/quotes/qt_5DciVga8Kt'

Update a quote

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/quotes/{quote}

Quotes that aren't bound to an issued policy are fully editable. Once a policy is issued for a quote, the quote becomes uneditable.

Path parameters

stringRequired

The ID of the desired quote (e.g., qt_5DciVga8Kt).

application/json

Body

string

The ID of the contractor seeking a quote for insurance coverage.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

integer(int64)

string

The ID of the job assignment that the contractor will be working on.

Responses

application/json

Returns the quote object if the update succeeded. Returns an error if update parameters are invalid.

Hide response attributesShow response attributesobject

string

ID of the contractor.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string(int64)

boolean

Indicates whether a contractor is elgible for insurance or not.

Default value is true.

string(int64)

integer

The amount of money the 1099 contractor pays in general liability premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The gl_net_rate is stored in cents (e.g., 48 represents $0.48).

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

object

The JSON representation of component parts that make up the total premium amount due including, for example, the net rate, taxes, and fees.

integer

The amount of money the 1099 contractor pays in workers comp premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The wc_net_rate is stored in cents (e.g., 48 represents $0.48).

curl \
 --request PUT 'https://api.1099policy.com/api/v1/quotes/qt_5DciVga8Kt' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"contractor\": \"cn_Ehb3bYa\",\n  \"coverage_type\": [\n    \"general\",\n    \"workers-comp\"\n  ],\n  \"effective_date\": 1646818364,\n  \"end_date\": 1678334737,\n  \"job\": \"jb_jsb9KEcTpc\"\n}"'
{
  "contractor": "cn_Ehb3bYa",
  "coverage_type": [\
    "general",\
    "workers-comp"\
  ],
  "effective_date": 1646818364,
  "end_date": 1678334737,
  "job": "jb_jsb9KEcTpc"
}

Session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

A Session represents the independent contractor's session as they apply for insurance using the application wizard at apply.1099policy.com. You only need to create a Session for contractors that don't already have insurance coverage.

Once the contractor successfully completes their insurance application, the Session will contain a reference to the Contractor, the Job, and the active insurance Policy.

You can create a Session on your server and pass its ID to the client to begin the insurance application.

List all sessions

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/apply/sessions

Returns a list of insurance application Sessions.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an application session ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with ias_fOo123, your subsequent call can include starting_after=ias_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an application session ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with ias_bAr123, your subsequent call can include ending_before=ias_bAr123 in order to fetch the previous page of the list.

string

Filter sessions by contractor ID (e.g., cn_Ehb3bYa).

boolean

Filter sessions by general opt-in flag. Set to true to return only general opt-in sessions, false to return only standard sessions, or omit to return all sessions.

Responses

application/json

Returns an array of session objects. If no more sessions are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

string

The URL the contractor will be directed to if they are ineligible or decide to abandon the insurance application and return to your website.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

boolean

Indicates whether the insurance application session has expired. If true, the contractor will be redirected to the cancel_url.

string

Unique identifier for the object.

string

The ID of the quote associated with the insurance application session.

string

The step in the insurance application process that the contractor is currently on. The contractor will be redirected to this step when they return to the insurance application. One of verify_info, application_questions, esignature_document, add_card_details, final_review, or application_complete.

Values are verify_info, application_questions, esignature_document, add_card_details, final_review, or application_complete.

string

The URL to which 1099Policy should direct independent contractors when a contractor successfully procures insurance coverage.

string

The URL to the insurance application Session. Redirect customers to this URL to take them to their insurance application. The domain will use apply.1099policy.com.

curl \
 --request GET 'https://api.1099policy.com/api/v1/apply/sessions'
[\
  {\
    "cancel_url": "https://1099jobcloud.com/1099policy/cancel",\
    "created": 1646818364,\
    "expired": false,\
    "id": "ias_01FVCHXE7PNQHA1T3S2AXL2QZE",\
    "quote": "qt_5DciVga8Kt",\
    "step": "final_review",\
    "success_url": "https://1099jobcloud.com/1099policy/success",\
    "url": "http://apply.1099policy.com/..."\
  }\
]

Create a session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/apply/sessions

Creates a session object.

application/json

Body

string

The URL the contractor will be directed to if they are ineligible or decide to abandon the insurance application and return to your website.

string

The ID of the contractor (required for general opt-in sessions). For standard sessions, this is derived from the quote.

string

The work state for general opt-in sessions (e.g., "CA", "NY"). Required when is_general_opt_in is true.

boolean

Set to true to create a general opt-in session (not tied to a specific job/quote). When true, contractor and work_state are required, and quote is not required.

stringRequired

The ID of an existing quote to be associated with the insurance application session.

string

The URL to which 1099Policy should direct independent contractors when a contractor successfully procures insurance coverage.

Responses

application/json

Returns the session object for an insurance application if quote, job, and contractor are valid.

Hide response attributesShow response attributesobject

string

The URL the contractor will be directed to if they are ineligible or decide to abandon the insurance application and return to your website.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

boolean

Indicates whether the insurance application session has expired. If true, the contractor will be redirected to the cancel_url.

string

Unique identifier for the object.

string

The ID of the quote associated with the insurance application session.

string

Values are verify_info, application_questions, esignature_document, add_card_details, final_review, or application_complete.

string

The URL to which 1099Policy should direct independent contractors when a contractor successfully procures insurance coverage.

string

curl \
 --request POST 'https://api.1099policy.com/api/v1/apply/sessions' \
 --header "Content-Type: application/json" \
 --data '{"cancel_url":"string","contractor":"string","general_opt_in_work_state":"string","is_general_opt_in":true,"quote":"string","success_url":"string"}'
{
  "cancel_url": "string",
  "contractor": "string",
  "general_opt_in_work_state": "string",
  "is_general_opt_in": true,
  "quote": "string",
  "success_url": "string"
}
{
  "cancel_url": "https://1099jobcloud.com/1099policy/cancel",
  "created": 1646818364,
  "expired": false,
  "id": "ias_01FVCHXE7PNQHA1T3S2AXL2QZE",
  "quote": "qt_5DciVga8Kt",
  "step": "final_review",
  "success_url": "https://1099jobcloud.com/1099policy/success",
  "url": "http://apply.1099policy.com/..."
}

Retrieve a session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/apply/sessions/{session}

Retrieves the insurance application session with the given ID.

Path parameters

stringRequired

The ID of the desired session (e.g., ias_01FVCHXE7PNQHA1T3S2AXL2QZE).

Responses

application/json

Returns a session object if a valid session ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

string

The URL the contractor will be directed to if they are ineligible or decide to abandon the insurance application and return to your website.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

boolean

Indicates whether the insurance application session has expired. If true, the contractor will be redirected to the cancel_url.

string

Unique identifier for the object.

string

The ID of the quote associated with the insurance application session.

string

Values are verify_info, application_questions, esignature_document, add_card_details, final_review, or application_complete.

string

The URL to which 1099Policy should direct independent contractors when a contractor successfully procures insurance coverage.

string

curl \
 --request GET 'https://api.1099policy.com/api/v1/apply/sessions/ias_01FVCHXE7PNQHA1T3S2AXL2QZE'

Update a session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/apply/sessions/{session}

Updates the success_url and cancel_url of a specified session. If either parameters is not provided it will be left unchanged.

Path parameters

stringRequired

The ID of the desired session (e.g., ias_01FVCHXE7PNQHA1T3S2AXL2QZE).

application/json

Body

string

The URL the contractor will be directed to if they are ineligible or decide to abandon the insurance application and return to your website.

string

The URL to which 1099Policy should direct independent contractors when a contractor successfully procures insurance coverage.

Responses

application/json

Returns the updated session object.

Hide response attributesShow response attributesobject

string

The URL the contractor will be directed to if they are ineligible or decide to abandon the insurance application and return to your website.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

boolean

Indicates whether the insurance application session has expired. If true, the contractor will be redirected to the cancel_url.

string

Unique identifier for the object.

string

The ID of the quote associated with the insurance application session.

string

Values are verify_info, application_questions, esignature_document, add_card_details, final_review, or application_complete.

string

The URL to which 1099Policy should direct independent contractors when a contractor successfully procures insurance coverage.

string

curl \
 --request PUT 'https://api.1099policy.com/api/v1/apply/sessions/ias_01FVCHXE7PNQHA1T3S2AXL2QZE' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"cancel_url\": \"https://example.com/cancel\",\n  \"success_url\": \"https://example.com/success\"\n}"'
{
  "cancel_url": "https://example.com/cancel",
  "success_url": "https://example.com/success"
}

Expire a session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/apply/sessions/{session}/expire

Expires the insurance application session with the given ID. An insurance application session can't be expired if the application status is complete.

After it expires, a contractor can’t complete an insurance application session and contractors loading the insurance application session see a message saying the insurance application session is expired.

Path parameters

stringRequired

The ID of the desired session (e.g., ias_01FVCHXE7PNQHA1T3S2AXL2QZE).

Responses

application/json

Returns a session object if the expiration succeeded. Returns an error if the session is already expired or isn't in an expireable state.

Hide response attributesShow response attributesobject

string

The URL the contractor will be directed to if they are ineligible or decide to abandon the insurance application and return to your website.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

boolean

Indicates whether the insurance application session has expired. If true, the contractor will be redirected to the cancel_url.

string

Unique identifier for the object.

string

The ID of the quote associated with the insurance application session.

string

Values are verify_info, application_questions, esignature_document, add_card_details, final_review, or application_complete.

string

The URL to which 1099Policy should direct independent contractors when a contractor successfully procures insurance coverage.

string

curl \
 --request POST 'https://api.1099policy.com/api/v1/apply/sessions/ias_01FVCHXE7PNQHA1T3S2AXL2QZE/expire'

Policy

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

To procure contractor insurance, you create a Policy object. You can retrieve individual policies as well as list all policies. Policies are identified by a unique, random ID.

Important note: Creating a policy via the POST endpoint is an exception for most integrations. A policy object is created automatically when a contractor completes their insurance application (see Session API). Contact us if you plan to use the policy POST endpoint.

List a contractor's policies

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/contractors/{contractor}/policies

Returns a list of policies for a given contractor.

Path parameters

stringRequired

The ID of the desired contractor (e.g., cn_Ehb3bYa).

Query parameters

string

A filter to return policies by a specific quote ID.

Responses

application/json

Returns a list of the contractors policies. The policies are returned sorted by creation date, with the most recent policy appearing first.

Hide response attributesShow response attributesobject

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

A timestamp used to determine the insurance policy start date. Measured in seconds since the Unix epoch. The default effective_date is the next day.

integer(int64)

A timestemp used to determine the insurance policy end date. Measured in seconds since the Unix epoch. The default expiration_date is 30 days after the effective_date.

string

Unique identifier for the object.

string

A URL for the hosted insurnace policy PDF, which contractors can view.

string

The ID of the quote used to create the policy.

One of active, cancelled, or expired.

Values are active, cancelled, or expired.

curl \
 --request GET 'https://api.1099policy.com/api/v1/contractors/cn_Ehb3bYa/policies'
[\
  {\
    "certificates": {\
      "gl_coi_pdf_url": "/bound-policies/prod/gl_coi_pl_wv23Q3lMc1_1691450123.pdf",\
      "wc_coi_pdf_url": "/bound-policies/prod/wc_coi_pl_wv23Q3lMc1_1691420903.pdf"\
    },\
    "created": 1646818364,\
    "effective_date": 1646818364,\
    "expiration_date": 1678334737,\
    "id": "pl_WzFRszJhoY",\
    "pdf_url": "http://ten99policy.s3.amazonaws.com/1099policy-coi-sample.pdf",\
    "quote": "qt_5DciVga8Kt",\
    "status": "active"\
  }\
]

List all policies

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/policies

Returns a list of policies you've previously created. The policies are returned in sorted order, with the most recent policies appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an policy ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with pl_fOo123, your subsequent call can include starting_after=pl_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an policy ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with pl_bAr123, your subsequent call can include ending_before=pl_bAr123 in order to fetch the previous page of the list.

string

A filter to return policies by a specific quote ID.

Responses

application/json

An array of policies, up to limit. Each entry in the array is a separate policy object. If no more charges are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

A timestamp used to determine the insurance policy start date. Measured in seconds since the Unix epoch. The default effective_date is the next day.

integer(int64)

string

Unique identifier for the object.

string

A URL for the hosted insurnace policy PDF, which contractors can view.

string

The ID of the quote used to create the policy.

One of active, cancelled, or expired.

Values are active, cancelled, or expired.

curl \
 --request GET 'https://api.1099policy.com/api/v1/policies'

Create a policy

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/policies

Creates a new policy object.

application/json

Body

string

A timestamp used to determine the insurance policy start date.

string

A timestemp used to determine the insurance policy end date.

stringRequired

The ID of the quote used to create the policy.

Responses

application/json

Returns the policy object if the post succeeded.

Hide response attributesShow response attributesobject

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

A timestamp used to determine the insurance policy start date. Measured in seconds since the Unix epoch. The default effective_date is the next day.

integer(int64)

string

Unique identifier for the object.

string

A URL for the hosted insurnace policy PDF, which contractors can view.

string

The ID of the quote used to create the policy.

One of active, cancelled, or expired.

Values are active, cancelled, or expired.

curl \
 --request POST 'https://api.1099policy.com/api/v1/policies' \
 --header "Content-Type: application/json" \
 --data '{"effective_date":"string","expiration_date":"string","quote":"string"}'
{
  "effective_date": "string",
  "expiration_date": "string",
  "quote": "string"
}
{
  "certificates": {
    "gl_coi_pdf_url": "/bound-policies/prod/gl_coi_pl_wv23Q3lMc1_1691450123.pdf",
    "wc_coi_pdf_url": "/bound-policies/prod/wc_coi_pl_wv23Q3lMc1_1691420903.pdf"
  },
  "created": 1646818364,
  "effective_date": 1646818364,
  "expiration_date": 1678334737,
  "id": "pl_WzFRszJhoY",
  "pdf_url": "http://ten99policy.s3.amazonaws.com/1099policy-coi-sample.pdf",
  "quote": "qt_5DciVga8Kt",
  "status": "active"
}

Retrieve a policy

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/policies/{policy}

Retrieves the details of an existing policy. Supply the unique policy ID from either a policy creation request or the policy list, and 1099Policy will return the corresponding policy information.

Path parameters

stringRequired

The ID of the desired policy (e.g., pl_WzFRszJhoY).

Responses

application/json

Returns a policy object if a valid ID was provided.

Hide response attributesShow response attributesobject

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

A timestamp used to determine the insurance policy start date. Measured in seconds since the Unix epoch. The default effective_date is the next day.

integer(int64)

string

Unique identifier for the object.

string

A URL for the hosted insurnace policy PDF, which contractors can view.

string

The ID of the quote used to create the policy.

One of active, cancelled, or expired.

Values are active, cancelled, or expired.

curl \
 --request GET 'https://api.1099policy.com/api/v1/policies/pl_WzFRszJhoY'

Update a policy

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/policies/{policy}

Policies can be switched on and off using the is_active flag. Use this functionality if you don't have preset policy start and end times.

Path parameters

stringRequired

The ID of the desired policy (e.g., pl_WzFRszJhoY).

application/json

Body

boolean

A flag to switch the policy on or off.

Responses

application/json

Returns the policy object if the update succeeded. Returns an error if update parameters are invalid.

Hide response attributesShow response attributesobject

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

A timestamp used to determine the insurance policy start date. Measured in seconds since the Unix epoch. The default effective_date is the next day.

integer(int64)

string

Unique identifier for the object.

string

A URL for the hosted insurnace policy PDF, which contractors can view.

string

The ID of the quote used to create the policy.

One of active, cancelled, or expired.

Values are active, cancelled, or expired.

curl \
 --request PUT 'https://api.1099policy.com/api/v1/policies/pl_WzFRszJhoY' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"is_active\": false\n}"'
{
  "is_active": false
}

Delete a policy

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/policies/{policy}

Permanently deletes a policy. Deleting a policy immediately cancels the insurance coverage for the contractor. Any assignments with an effective date after the policy deletion date will also be cancelled.

Path parameters

stringRequired

The ID of the desired policy (e.g., pl_WzFRszJhoY).

Responses

application/json

Returns an object with a deleted parameter on success. If the policy ID does not exist, this call returns an error.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the policy was deleted.

string

The policy ID.

string

Default value is policy.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/policies/pl_WzFRszJhoY'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "pl_WzFRszJhoY",
  "object": "policy"
}

Assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

To secure coverage for independent contractors that have previously had a policy issued through the 1099Policy platform, you create an Assignment object.

Independent contractors with an existing insurance policy procured using the 1099Policy platform have the option to receive per-job-assignment insurance coverage without having to complete additional insurance applications, provided certain eligibility criteria are met.

You can find the result of the eligibility check in the API response. Eligiblity is determined by parameters provided, including job and contractor. In particular, we look to see if the job category_code is the same as previously approved and time since the independent contractor completed their insurance application.

1099Policy automatically charges the independent contractor's credit card on file, if a credit card exists. 1099Policy first notifies the contractor via email and then charges the contractor the premium amount due 24hrs later.

List all assignments

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/assignments

Returns a list of your assignments. The assigments returned are sorted by creation date, with the most recently created assignments appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an assignment ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with asn_fOo123, your subsequent call can include starting_after=asn_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an assignment ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with asn_bAr123, your subsequent call can include ending_before=asn_bAr123 in order to fetch the previous page of the list.

Responses

application/json

Returns an array of assignment objects. If no more assignments are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

Indicates whether to start the process of binding coverage, which includes notifying and subsequently charging the independent contractor for the premium amount due. Defaults to true. When false, 1099Policy does not notify or schedule a charge. Note that the independent contractor will not be issued coverage if bind is set to false.

Default value is true.

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

string

ID of the contractor.

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, professional and workers-comp. If provided, coverage type is factored into the eligibility determination (i.e., does contractor have an active workers-comp policy, etc). Defaults to the coverage types of the most recent active policy if coverage_type is not provided.

Values are general, professional, or workers-comp.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

The job assignment start date, measured in seconds since the Unix epoch.

object

Indicates whether a contractor is elgible for pre-approved insurance or not based on their most recent insurance application.

Hide eligible attributesShow eligible attributesobject

string

A message with more detail related to the eligibility result.

boolean

The result of the insurance eligibility check.

integer(int64)

The projected job assignment end date, measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

ID of the job that the contractor intends to accept.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

string

ID of the policy that you want attached to the assignment. Defaults to the most recent active policy with a matching job category code, work state and contractor home state.

curl \
 --request GET 'https://api.1099policy.com/api/v1/assignments'
[\
  {\
    "bind": true,\
    "certificates": {\
      "gl_coi_pdf_url": "/bound-policies/prod/gl_coi_pl_wv23Q3lMc1_1691450123.pdf",\
      "wc_coi_pdf_url": "/bound-policies/prod/wc_coi_pl_wv23Q3lMc1_1691420903.pdf"\
    },\
    "contractor": "cn_Ehb3bYa",\
    "coverage_type": [\
      "general",\
      "workers-comp"\
    ],\
    "created": 1646818364,\
    "effective_date": 1646818364,\
    "eligible": {\
      "message": "Contractor is pre-approved for insurance coverage.",\
      "result": true\
    },\
    "end_date": 1678334737,\
    "id": "an_5HviNgc2Br",\
    "job": "jb_jsb9KEcTpc",\
    "net_rate": 65,\
    "policy": "pl_WzFRszJhoY"\
  }\
]

Create an assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/assignments

This endpoint creates an assignment object that you can use to attach insurance coverage to any job assignment a contractor takes after the contractor has gone active on the 1099Policy platform (i.e., after completing thier insurance application successfully).

application/json

Body

boolean

Indicates whether to start the process of binding coverage, which includes notifying and subsequently charging the independent contractor for the premium amount due. Defaults to true. When false, 1099Policy does not notify or schedule a charge. Note that the independent contractor is not issued coverage if bind is set to false.

stringRequired

ID of the contractor

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, professional, workers-comp, media, and cyber. If provided, coverage type is factored into the eligibility determination (i.e., does contractor have an active workers-comp policy, etc). Defaults to the coverage types of the most recent active policy if coverage_type is not provided.

integer

The job assignment start date, measured in seconds since the Unix epoch. This date must be set in the future. The default effective_date is the next day.

integer

The projected job assignment end date, measured in seconds since the Unix epoch. This date must be after the effective date. If the end_date is on the same day as the effective_date, it will automatically be adjusted to the start of the next day. The default end_date is 30 days after the effective date.

stringRequired

ID of the job that the contractor was paid to do.

string

Responses

application/json

Returns the assignment object if the post succeeded.

Hide response attributesShow response attributesobject

Default value is true.

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

string

ID of the contractor.

array[string]

Values are general, professional, or workers-comp.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

The job assignment start date, measured in seconds since the Unix epoch.

object

Indicates whether a contractor is elgible for pre-approved insurance or not based on their most recent insurance application.

Hide eligible attributesShow eligible attributesobject

string

A message with more detail related to the eligibility result.

boolean

The result of the insurance eligibility check.

integer(int64)

The projected job assignment end date, measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

ID of the job that the contractor intends to accept.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

string

curl \
 --request POST 'https://api.1099policy.com/api/v1/assignments' \
 --header "Content-Type: application/json" \
 --data '{"bind":true,"contractor":"string","coverage_type":["string"],"effective_date":42,"end_date":42,"job":"string","policy":"string"}'
{
  "bind": true,
  "contractor": "string",
  "coverage_type": [\
    "string"\
  ],
  "effective_date": 42,
  "end_date": 42,
  "job": "string",
  "policy": "string"
}
{
  "bind": true,
  "certificates": {
    "gl_coi_pdf_url": "/bound-policies/prod/gl_coi_pl_wv23Q3lMc1_1691450123.pdf",
    "wc_coi_pdf_url": "/bound-policies/prod/wc_coi_pl_wv23Q3lMc1_1691420903.pdf"
  },
  "contractor": "cn_Ehb3bYa",
  "coverage_type": [\
    "general",\
    "workers-comp"\
  ],
  "created": 1646818364,
  "effective_date": 1646818364,
  "eligible": {
    "message": "Contractor is pre-approved for insurance coverage.",
    "result": true
  },
  "end_date": 1678334737,
  "id": "an_5HviNgc2Br",
  "job": "jb_jsb9KEcTpc",
  "net_rate": 65,
  "policy": "pl_WzFRszJhoY"
}

Cancel an assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/assignments/cancel

Cancels an existing assignment based on the provided job ID. If you attempt to cancel an assignment after it has started, the request will fail. If you need the option to cancel an assignment after its start date, please contact us.

application/json

Body

stringRequired

The ID of the job associated with the assignment

string

Optional reason for cancellation

Responses

application/json

Assignment successfully cancelled

Hide response attributesShow response attributesobject

Default value is true.

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

string

ID of the contractor.

array[string]

Values are general, professional, or workers-comp.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

The job assignment start date, measured in seconds since the Unix epoch.

object

Indicates whether a contractor is elgible for pre-approved insurance or not based on their most recent insurance application.

Hide eligible attributesShow eligible attributesobject

string

A message with more detail related to the eligibility result.

boolean

The result of the insurance eligibility check.

integer(int64)

The projected job assignment end date, measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

ID of the job that the contractor intends to accept.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

string

Invalid request or assignment cannot be cancelled

No assignment found for the associated job id.

curl \
 --request POST 'https://api.1099policy.com/api/v1/assignments/cancel' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"job_id\": \"jb_123abc\",\n  \"reason\": \"client_request\"\n}"'
{
  "job_id": "jb_123abc",
  "reason": "client_request"
}

Change bound coverage dates

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/assignments/change_dates

Changes the start (effective_date) and/or end date of bound coverage for a job. This is the symmetric counterpart to POST /api/v1/assignments/extend: extend moves the end date out, this endpoint can also move the start date forward (shortening coverage from the front) -- e.g. correcting a start date that slipped into the past -- and it works for both quote- and assignment-backed coverage.

Restrictions mirror what we already enforce: effective_date must be in the future, strictly after the current start, and before the end date; end_date follows the extend rules (on or after the current end, within a year of the effective date, and coverage not already ended). At least one of effective_date / end_date is required. Changing dates on a bound quote via PUT /quotes is not supported; use this endpoint.

Certificate of Insurance (COI) regeneration: COI PDFs are regenerated asynchronously to reflect the new dates. The response returns immediately with certificate_refresh_pending: true; the certificate URLs in the response are stale, and fresh URLs are published in the assignment.dates_changed webhook (and available via the API) once regeneration completes.

application/json

Body

integer(int64)

New coverage start date (seconds since the Unix epoch). Must be in the future, after the current start, and before the end date. Moving it forward shortens coverage from the start.

integer(int64)

New coverage end date (seconds since the Unix epoch). Must be on or after the current end date and within one year of the effective date.

stringRequired

The ID of the job associated with the coverage.

boolean

When true, email the contractor a coverage-dates-changed notice. COI regeneration and webhook publication happen regardless of this flag.

Default value is true.

Responses

application/json

Coverage dates updated, or unchanged (no-op) when the submitted dates match the current values. COIs regenerate asynchronously, so the response includes certificate_refresh_pending: true.

To secure coverage for independent contractors that have previously had a policy issued through the 1099Policy platform, you create an Assignment object.

You can find the result of the eligibility check in the API response. Eligiblity is determined by parameters provided, including job and contractor. In particular, we look to see if the job category_code is the same as previously approved and the time since the independent contractor completed their insurance application.

1099Policy automatically charges the independent contractor's credit card on file, if a credit card exists and bind is true. 1099Policy first notifies the contractor via email and then charges the contractor the premium amount due 24hrs later.

Hide attributesShow attributes

Default value is true.

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

string

ID of the contractor.

array[string]

Values are general, professional, or workers-comp.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

The job assignment start date, measured in seconds since the Unix epoch.

object

Indicates whether a contractor is elgible for pre-approved insurance or not based on their most recent insurance application.

Hide eligible attributesShow eligible attributesobject

string

A message with more detail related to the eligibility result.

boolean

The result of the insurance eligibility check.

integer(int64)

The projected job assignment end date, measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

ID of the job that the contractor intends to accept.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

string

The Quote object reflects whether a contractor is eligible for insurance and the premium owed for every $100 earned.

Important note: In North Dakota, Ohio, Washington and Wyoming, workers compensation can only be purchased through a government operated insurance company. As a result, the quote API returns an error when a quote request is made for workers compensiation for any one of these four states.

Hide attributesShow attributes

string

ID of the contractor.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string(int64)

boolean

Indicates whether a contractor is elgible for insurance or not.

Default value is true.

string(int64)

integer

The amount of money the 1099 contractor pays in general liability premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The gl_net_rate is stored in cents (e.g., 48 represents $0.48).

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

object

The JSON representation of component parts that make up the total premium amount due including, for example, the net rate, taxes, and fees.

integer

The amount of money the 1099 contractor pays in workers comp premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The wc_net_rate is stored in cents (e.g., 48 represents $0.48).

Invalid input, no dates provided, voided/cancelled/unbound record, expired coverage, a backward or past effective_date, or a shortened end_date.

Job not found, or no bound coverage found for the job.

curl \
 --request POST 'https://api.1099policy.com/api/v1/assignments/change_dates' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"effective_date\": 1784332800,\n  \"job_id\": \"jb_jsb9KEcTpc\",\n  \"send_email\": true\n}"'
{
  "effective_date": 1784332800,
  "job_id": "jb_jsb9KEcTpc",
  "send_email": true
}

Extend an assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/assignments/extend

Extends an existing assignment based on the provided job ID. Sets a new end date for bound coverage. If you attempt to extend after coverage has ended, or the end date is invalid, the request will fail. Updating end_date on a bound assignment via PUT is not supported; use this endpoint instead.

Certificate of Insurance (COI) regeneration: When extending coverage, COI PDFs are regenerated asynchronously to reflect the new end date. The response returns immediately with certificate_refresh_pending: true, indicating that:

This async design ensures the API responds quickly without blocking for PDF generation.

application/json

Body

integer(int64)Required

New end date for the assignment, measured in seconds since the Unix epoch. Must be on or after the current end date and within one year of the effective date.

stringRequired

The ID of the job associated with the assignment

boolean

When true, send a coverage-extension notification email to the contractor. COI regeneration and webhook publication happen regardless of this flag.

Default value is true.

Responses

application/json

Assignment end date updated, or unchanged (no-op) when end_date matches the current value. COIs are always regenerated asynchronously, so the response includes certificate_refresh_pending: true to indicate that certificate URLs are stale and fresh URLs will be available in the webhook.

To secure coverage for independent contractors that have previously had a policy issued through the 1099Policy platform, you create an Assignment object.

Hide attributesShow attributes

Default value is true.

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

string

ID of the contractor.

array[string]

Values are general, professional, or workers-comp.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

The job assignment start date, measured in seconds since the Unix epoch.

object

Indicates whether a contractor is elgible for pre-approved insurance or not based on their most recent insurance application.

Hide eligible attributesShow eligible attributesobject

string

A message with more detail related to the eligibility result.

boolean

The result of the insurance eligibility check.

integer(int64)

The projected job assignment end date, measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

ID of the job that the contractor intends to accept.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

string

The Quote object reflects whether a contractor is eligible for insurance and the premium owed for every $100 earned.

Hide attributesShow attributes

string

ID of the contractor.

array[string]

Values are general, professional, workers-comp, media, or cyber.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string(int64)

boolean

Indicates whether a contractor is elgible for insurance or not.

Default value is true.

string(int64)

integer

The amount of money the 1099 contractor pays in general liability premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The gl_net_rate is stored in cents (e.g., 48 represents $0.48).

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

object

The JSON representation of component parts that make up the total premium amount due including, for example, the net rate, taxes, and fees.

integer

The amount of money the 1099 contractor pays in workers comp premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The wc_net_rate is stored in cents (e.g., 48 represents $0.48).

Invalid input, voided or cancelled record, expired coverage, attempted shortening, or same end date when no-op is not allowed.

Job not found, or no assignment found for the associated job id.

curl \
 --request POST 'https://api.1099policy.com/api/v1/assignments/extend' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"end_date\": 1735689600,\n  \"job_id\": \"jb_jsb9KEcTpc\",\n  \"send_email\": true\n}"'
{
  "end_date": 1735689600,
  "job_id": "jb_jsb9KEcTpc",
  "send_email": true
}

Get media coverage records for a policy

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/assignments/media

Retrieves all media coverage records associated with a policy.

Query parameters

stringRequired

The ID of the policy to get media coverage records for.

Responses

application/json

Returns a list of media coverage records if successful.

Hide response attributesShow response attributesobject

integer(int64)

The date and time when the coverage period ends, measured in seconds since the Unix epoch.

integer(int64)

Time at which the media coverage record was created.

integer(int64)

The date and time when the first content was published, measured in seconds since the Unix epoch.

string

Unique identifier for the media coverage record.

boolean

Whether the media coverage period is currently active.

array[object]

Array of published content items. Each item contains publication_date and platform-specific content data.

string

The ID of the quote associated with this media coverage.

Returns an error if the policy_id parameter is missing or invalid.

Returns an error if the specified policy is not found.

Returns an error if there was an internal server error.

curl \
 --request GET 'https://api.1099policy.com/api/v1/assignments/media?policy_id=string'
[\
  {\
    "coverage_end_date": 1678334737,\
    "created": 1646818364,\
    "first_publication_date": 1646818364,\
    "id": "mc_abc123xyz",\
    "is_active": true,\
    "published_content_json": [\
      {}\
    ],\
    "quote_id": "qt_5DciVga8Kt"\
  }\
]

Create a media coverage record for an assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/assignments/media

Creates a new media coverage record for a policy and adds published content. The media coverage record is used to track content published by contractors and generate Certificates of Insurance (COIs) for media coverage.

application/json

Body

stringRequired

The ID of the policy to associate with the media coverage record.

integerRequired

The date and time when the content was published, in seconds since the Unix epoch.

objectRequired

Details about the published content. Can contain any valid JSON structure.

Responses

application/json

Returns the created media coverage record if successful.

Hide response attributesShow response attributesobject

integer(int64)

The date and time when the coverage period ends, measured in seconds since the Unix epoch.

integer(int64)

Time at which the media coverage record was created.

integer(int64)

The date and time when the first content was published, measured in seconds since the Unix epoch.

string

Unique identifier for the media coverage record.

boolean

Whether the media coverage period is currently active.

array[object]

Array of published content items. Each item contains publication_date and platform-specific content data.

string

The ID of the quote associated with this media coverage.

Returns an error if required fields are missing or invalid.

Returns an error if the specified policy is not found.

Returns an error if there was an internal server error.

curl \
 --request POST 'https://api.1099policy.com/api/v1/assignments/media' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"policy_id\": \"pl_123abc\",\n  \"publication_date\": 1711612800,\n  \"published_content_json\": {\n    \"additional_field\": \"any value\",\n    \"platform\": \"instagram\",\n    \"url\": \"https://instagram.com/pl/1234567890\"\n  }\n}"'
{
  "policy_id": "pl_123abc",
  "publication_date": 1711612800,
  "published_content_json": {
    "additional_field": "any value",
    "platform": "instagram",
    "url": "https://instagram.com/pl/1234567890"
  }
}
{
  "coverage_end_date": 1678334737,
  "created": 1646818364,
  "first_publication_date": 1646818364,
  "id": "mc_abc123xyz",
  "is_active": true,
  "published_content_json": [\
    {}\
  ],
  "quote_id": "qt_5DciVga8Kt"
}

Retrieve an assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/assignments/{assignment}

Retrieves the assignment with the given ID.

Path parameters

stringRequired

The ID of the desired assignment (e.g., an_G5biPgc5Hc).

Responses

application/json

Returns an assignment object if a valid assignment ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

Default value is true.

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

string

ID of the contractor.

array[string]

Values are general, professional, or workers-comp.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

The job assignment start date, measured in seconds since the Unix epoch.

object

Indicates whether a contractor is elgible for pre-approved insurance or not based on their most recent insurance application.

Hide eligible attributesShow eligible attributesobject

string

A message with more detail related to the eligibility result.

boolean

The result of the insurance eligibility check.

integer(int64)

The projected job assignment end date, measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

ID of the job that the contractor intends to accept.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

string

curl \
 --request GET 'https://api.1099policy.com/api/v1/assignments/an_G5biPgc5Hc'

Update an assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/assignments/{assignment}

Assignments are editable up until the related invoice is paid in full.

Path parameters

stringRequired

The ID of the desired assignment (e.g., an_3mqtUPL2cA).

application/json

Body

boolean

string

ID of the contractor

array[string]

An array of coverage types that can include one or more of the following insurance coverage values: general, workers-comp, and professional. If provided, coverage type is factored into the eligibility determination (i.e., does contractor have an active workers-comp policy, etc). Defaults to the coverage types of the most recent active policy if coverage_type is not provided.

Values are general, workers-comp, or professional.

integer

The job assignment start date, measured in seconds since the Unix epoch.

integer

The projected job assignment end date, measured in seconds since the Unix epoch. If the end_date is on the same day as the effective_date, it will automatically be adjusted to the start of the next day.

string

ID of the job that the contractor intends to accept.

string

Responses

application/json

Returns an invoice object if a valid invoice ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

Default value is true.

object

URLs to the certificates of insurance for each of the types of coverage issued to the contractor for the specific job assignment.

Hide certificates attributesShow certificates attributesobject

string

The general liability certificate of insurance PDF URL.

string

The workers compensation certificate of insurance PDF URL.

string

ID of the contractor.

array[string]

Values are general, professional, or workers-comp.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

The job assignment start date, measured in seconds since the Unix epoch.

object

Indicates whether a contractor is elgible for pre-approved insurance or not based on their most recent insurance application.

Hide eligible attributesShow eligible attributesobject

string

A message with more detail related to the eligibility result.

boolean

The result of the insurance eligibility check.

integer(int64)

The projected job assignment end date, measured in seconds since the Unix epoch.

string

Unique identifier for the object.

string

ID of the job that the contractor intends to accept.

integer

The amount of money the 1099 contractor pays in premium per every $100 earned.

A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).

string

curl \
 --request PUT 'https://api.1099policy.com/api/v1/assignments/an_3mqtUPL2cA' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"bind\": true,\n  \"contractor\": \"cn_Ehb3bYa\",\n  \"coverage_type\": [\n    \"general\",\n    \"workers-comp\"\n  ],\n  \"effective_date\": 1646818364,\n  \"end_date\": 1646818364,\n  \"job\": \"jb_jsb9KEcTpc\",\n  \"policy\": \"pl_3mqtUPL2cA\"\n}"'
{
  "bind": true,
  "contractor": "cn_Ehb3bYa",
  "coverage_type": [\
    "general",\
    "workers-comp"\
  ],
  "effective_date": 1646818364,
  "end_date": 1646818364,
  "job": "jb_jsb9KEcTpc",
  "policy": "pl_3mqtUPL2cA"
}

Delete an assignment

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/assignments/{assignment}

Permanently deletes an assignment. This cannot be undone. Attempts to delete assignments with jobs that have invoices paid in full will fail.

Path parameters

stringRequired

The ID of the desired assignment (e.g., an_G5biPgc5Hc).

Responses

application/json

A successfully deleted assignment. Otherwise, this call returns an error, such as if the assignment has already been deleted.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the assignment was deleted.

string

The assignment ID.

string

Default value is assignment.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/assignments/an_G5biPgc5Hc'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "an_G5biPgc5Hc",
  "object": "assignment"
}

Invoice

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

Invoices are statements of premium amounts owed by a contractor, based on the contractor's gross pay in the last pay period.

The invoice is used by 1099Policy to determine total funds to charge the contractor or to withdraw from the bank account you connect to the 1099Policy platform if your platform intends to withold insurance premium payments.

List all invoices

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/invoices

You can list all invoices, or list the invoices for a specific contractor. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

string

A cursor for use in pagination. starting_after is an invoice ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with in_fOo123, your subsequent call can include starting_after=in_fOo123 in order to fetch the next page of the list.

string

A cursor for use in pagination. ending_before is an invoice ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with in_bAr123, your subsequent call can include ending_before=in_bAr123 in order to fetch the previous page of the list.

Responses

application/json

Returns an array of invoice objects. If no more invoices are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

string

ID of the contractor.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer

The gross pay that the contractor earned in the last pay period.

A positive integer representing the gross pay (e.g., 15000 cents to charge $150.00). The minimum amount is 100 cents US. The maximum amount is 100000000 cents US ($1,000,000).

Minimum value is 100, maximum value is 100000000.

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer(int64)

Pay period end date. Measured in seconds since the Unix epoch.

integer(int64)

Pay period start date. Measured in seconds since the Unix epoch.

integer

Premium due for pay cycle. Calculated as a percentage of gross pay for the period.

A positive integer representing the premium due (e.g., 150 cents to charge $1.50). The minimum amount is 100 cents US.

string

The purchase order number for this invoice. Used for dashboard display and agency-pay billing.

By default an invoice inherits this from the purchase_order_number set on the job's custom_metadata when it is created. It can be overridden per invoice on create or update by sending purchase_order_number (an explicit value wins over the job default), or cleared by sending an empty string (""). Omitting the field on update leaves the current value unchanged.

When a wage change re-prices an invoice, the replacement invoice keeps this value rather than re-inheriting it from the job.

Precedence: explicit value on the invoice, then the value carried forward when an invoice is re-priced, then the job's custom_metadata default.

curl \
 --request GET 'https://api.1099policy.com/api/v1/invoices'
[\
  {\
    "contractor": "cn_Ehb3bYa",\
    "created": 1646818364,\
    "gross_pay": 250000,\
    "id": "in_4RviYgc2Wt",\
    "job": "jb_jsb9KEcTpc",\
    "paycycle_enddate": 1678334737,\
    "paycycle_startdate": 1646818364,\
    "premium_due": 4325,\
    "purchase_order_number": "12345678"\
  }\
]

Create an invoice

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/invoices

This endpoint creates an invoice that reflects the insurance premium owed by the contractor for the specified pay period.

application/json

Body

stringRequired

ID of the contractor

integerRequired

The gross pay that the contractor earned in the last pay period.

stringRequired

ID of the job that the contractor was paid to do.

integerRequired

Pay period end date.

integerRequired

Pay period start date.

string

The purchase order number for this invoice. Optional.

By default an invoice inherits the purchase_order_number set on the job's custom_metadata. Send this field to override that default for this invoice — an explicit value always wins over the job default. Send an empty string ("") to create the invoice with no purchase order number, or omit the field to inherit the job's default.

If a later gross_pay change re-prices this invoice, the replacement invoice keeps this purchase order number; it is not re-inherited from the job.

Responses

application/json

Returns the invoice object if the post succeeded.

Hide response attributesShow response attributesobject

string

ID of the contractor.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer

The gross pay that the contractor earned in the last pay period.

Minimum value is 100, maximum value is 100000000.

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer(int64)

Pay period end date. Measured in seconds since the Unix epoch.

integer(int64)

Pay period start date. Measured in seconds since the Unix epoch.

integer

Premium due for pay cycle. Calculated as a percentage of gross pay for the period.

A positive integer representing the premium due (e.g., 150 cents to charge $1.50). The minimum amount is 100 cents US.

string

The purchase order number for this invoice. Used for dashboard display and agency-pay billing.

When a wage change re-prices an invoice, the replacement invoice keeps this value rather than re-inheriting it from the job.

Precedence: explicit value on the invoice, then the value carried forward when an invoice is re-priced, then the job's custom_metadata default.

curl \
 --request POST 'https://api.1099policy.com/api/v1/invoices' \
 --header "Content-Type: application/json" \
 --data '{"contractor":"string","gross_pay":42,"job":"string","paycycle_enddate":42,"paycycle_startdate":42,"purchase_order_number":"string"}'
{
  "contractor": "string",
  "gross_pay": 42,
  "job": "string",
  "paycycle_enddate": 42,
  "paycycle_startdate": 42,
  "purchase_order_number": "string"
}
{
  "contractor": "cn_Ehb3bYa",
  "created": 1646818364,
  "gross_pay": 250000,
  "id": "in_4RviYgc2Wt",
  "job": "jb_jsb9KEcTpc",
  "paycycle_enddate": 1678334737,
  "paycycle_startdate": 1646818364,
  "premium_due": 4325,
  "purchase_order_number": "12345678"
}

Retrieve an invoice

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/invoices/{invoice}

Retrieves the invoice with the given ID.

Path parameters

stringRequired

The ID of the desired invoice (e.g., in_4RviYgc2Wt).

Responses

application/json

Returns an invoice object if a valid invoice ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

string

ID of the contractor.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer

The gross pay that the contractor earned in the last pay period.

Minimum value is 100, maximum value is 100000000.

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer(int64)

Pay period end date. Measured in seconds since the Unix epoch.

integer(int64)

Pay period start date. Measured in seconds since the Unix epoch.

integer

Premium due for pay cycle. Calculated as a percentage of gross pay for the period.

A positive integer representing the premium due (e.g., 150 cents to charge $1.50). The minimum amount is 100 cents US.

string

The purchase order number for this invoice. Used for dashboard display and agency-pay billing.

When a wage change re-prices an invoice, the replacement invoice keeps this value rather than re-inheriting it from the job.

Precedence: explicit value on the invoice, then the value carried forward when an invoice is re-priced, then the job's custom_metadata default.

curl \
 --request GET 'https://api.1099policy.com/api/v1/invoices/in_4RviYgc2Wt'

Update an invoice

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/invoices/{invoice}

Invoices that haven't been paid are fully editable. Once an invoice is paid, it becomes uneditable.

Path parameters

stringRequired

The ID of the desired invoice (e.g., in_4RviYgc2Wt).

application/json

Body

string

ID of the contractor

integer

The gross pay that the contractor earned in the last pay period.

string

ID of the job that the contractor was paid to do.

integer

Pay period end date.

integer

Pay period start date.

string

The purchase order number for this invoice. Optional.

Provide a value to set or change it — an explicit value overrides the default inherited from the job's custom_metadata. Send an empty string ("") to clear it, or omit the field to leave the current value unchanged. This is how you change only the purchase order number when nothing else about the invoice has changed. Not editable once the invoice is paid in full.

Responses

application/json

Returns an invoice object if a valid invoice ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

string

ID of the contractor.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer

The gross pay that the contractor earned in the last pay period.

Minimum value is 100, maximum value is 100000000.

string

Unique identifier for the object.

string

ID of the job that the contractor was paid to do.

integer(int64)

Pay period end date. Measured in seconds since the Unix epoch.

integer(int64)

Pay period start date. Measured in seconds since the Unix epoch.

integer

Premium due for pay cycle. Calculated as a percentage of gross pay for the period.

A positive integer representing the premium due (e.g., 150 cents to charge $1.50). The minimum amount is 100 cents US.

string

The purchase order number for this invoice. Used for dashboard display and agency-pay billing.

When a wage change re-prices an invoice, the replacement invoice keeps this value rather than re-inheriting it from the job.

Precedence: explicit value on the invoice, then the value carried forward when an invoice is re-priced, then the job's custom_metadata default.

curl \
 --request PUT 'https://api.1099policy.com/api/v1/invoices/in_4RviYgc2Wt' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"contractor\": \"cn_Ehb3bYa\",\n  \"gross_pay\": 10000,\n  \"job\": \"jb_jsb9KEcTpc\",\n  \"paycycle_enddate\": 1678334737,\n  \"paycycle_startdate\": 1646818364,\n  \"purchase_order_number\": \"PO-12345678\"\n}"'
{
  "contractor": "cn_Ehb3bYa",
  "gross_pay": 10000,
  "job": "jb_jsb9KEcTpc",
  "paycycle_enddate": 1678334737,
  "paycycle_startdate": 1646818364,
  "purchase_order_number": "PO-12345678"
}

Delete an unpaid invoice

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/invoices/{invoice}

Permanently deletes an invoice. This cannot be undone. Attempts to delete invoices that have been paid will fail.

Path parameters

stringRequired

The ID of the desired invoice (e.g., in_4RviYgc2Wt).

Responses

application/json

A successfully deleted invoice. Otherwise, this call returns an error, such as if the invoice has already been deleted.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the invoice was deleted.

string

The invoice ID.

string

Default value is invoice.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/invoices/in_4RviYgc2Wt'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "in_4RviYgc2Wt",
  "object": "invoice"
}

Payment Session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

A payment session is a single-use, time-boxed flow that lets one of your contractors add or update their credit card on a secure page hosted by 1099Policy, then return to a URL you control. The contractor reaches the page via a one-time link that 1099Policy issues from your POST — the link expires and becomes invalid after the flow completes. Card data never touches your servers; tokenization happens client-side against our PCI-compliant payment provider.

You create a session on your server with the contractor's ID and a return_url of your choosing. We return a single-use URL that you redirect the contractor to. When they complete (or cancel) the flow, we redirect them back to your return_url and emit a signed payment.session.completed (or .cancelled, .expired) webhook event to the endpoint you have configured for 1099Policy webhooks.

Before using this endpoint, 1099Policy must have configured your organization's allowed return_url hostnames. Contact support to onboard.

Query parameters appended to the return_url on redirect (hps_id, status) are for your UX only and must not be the basis for any entitlement decision. The signed webhook is the source of truth for outcome.

Create a payment session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/payment/sessions

Creates a new payment session object.

application/json

Body

stringRequired

The public ID of the contractor (e.g., cn_AbCdEfGh12). Must belong to your tenant. A contractor ID that does not belong to your tenant returns 404 to avoid leaking existence.

stringRequired

HTTPS URL the contractor will be redirected to when the flow terminates. The host must be in your organization's configured hosted_flow_allowed_redirect_hosts allowlist. Exact-match only; no wildcards, no suffix matching. URLs with credentials (user:pass@) or fragments are rejected.

Responses

application/json

Session created. The url field is shown exactly once and contains the single-use token the contractor must land on.

Hide response attributesShow response attributesobject

integer(int64) | null

Time at which the session was cancelled by you or by the contractor. Null unless status is cancelled. Measured in seconds since the Unix epoch.

integer(int64) | null

Time at which the session reached completed. Null unless the contractor successfully saved a card. Measured in seconds since the Unix epoch.

string

Public ID of the contractor the session is scoped to.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

Time at which a pending session expires and becomes unusable. Measured in seconds since the Unix epoch. Default lifetime is 30 minutes from creation.

string

Unique identifier for the object.

string

Identifier for the payment provider backing this session. checkout is the default and currently the only supported value. Reserved so future providers can be added without a breaking schema change.

Value is checkout.

string

HTTPS URL the contractor is redirected to when the flow terminates. The host must be in your organization's configured hosted_flow_allowed_redirect_hosts allowlist; exact host match only, no wildcards. URLs with credentials (user:pass@) or fragments are rejected at creation time.

string

Current status of the session. pending is the only state in which the URL can be used; the other three are terminal.

Values are pending, completed, cancelled, or expired.

string

The single-use URL to redirect the contractor to. Shown exactly once, at session creation. The token embedded in this URL is a secret — do not log it, do not persist it, do not share it beyond the contractor's browser.

Invalid input. invalid_return_url when the return URL fails scheme / host / allowlist validation. Ensure your organization has hosted_flow_allowed_redirect_hosts configured.

Missing or invalid API key.

Contractor not found. Returned when the contractor does not exist under your tenant.

curl \
 --request POST 'https://api.1099policy.com/api/v1/payment/sessions' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"contractor\": \"cn_AbCdEfGh12\",\n  \"return_url\": \"https://app.yourplatform.com/settings/billing/return\"\n}"'
{
  "contractor": "cn_AbCdEfGh12",
  "return_url": "https://app.yourplatform.com/settings/billing/return"
}
{
  "cancelled_at": 42,
  "completed_at": 1713369924,
  "contractor_id": "cn_Ehb3bYa",
  "created": 1646818364,
  "expires_at": 1713371724,
  "id": "hps_xyz123abc",
  "processor": "checkout",
  "return_url": "https://app.yourplatform.com/settings/billing/return",
  "status": "pending",
  "url": "https://my.1099policy.com/payment/setup/live_<token>"
}

Retrieve a payment session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/payment/sessions/{session}

Retrieves the payment session with the given ID.

Path parameters

stringRequired

The public ID of the session (hps_...).

Responses

application/json

The current session object.

Hide response attributesShow response attributesobject

integer(int64) | null

Time at which the session was cancelled by you or by the contractor. Null unless status is cancelled. Measured in seconds since the Unix epoch.

integer(int64) | null

Time at which the session reached completed. Null unless the contractor successfully saved a card. Measured in seconds since the Unix epoch.

string

Public ID of the contractor the session is scoped to.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

Time at which a pending session expires and becomes unusable. Measured in seconds since the Unix epoch. Default lifetime is 30 minutes from creation.

string

Unique identifier for the object.

string

Value is checkout.

string

string

Current status of the session. pending is the only state in which the URL can be used; the other three are terminal.

Values are pending, completed, cancelled, or expired.

string

Missing or invalid API key.

Session not found. Returned when the id is unknown or belongs to another tenant.

curl \
 --request GET 'https://api.1099policy.com/api/v1/payment/sessions/{session}'

Cancel a payment session

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/payment/sessions/{session}/cancel

Cancels the payment session with the given ID. A session can only be cancelled while it is still pending.

Path parameters

stringRequired

The public ID of the session to cancel.

Responses

application/json

Session cancelled. The webhook with event_type: payment.session.cancelled will follow asynchronously.

Hide response attributesShow response attributesobject

integer(int64) | null

Time at which the session was cancelled by you or by the contractor. Null unless status is cancelled. Measured in seconds since the Unix epoch.

integer(int64) | null

Time at which the session reached completed. Null unless the contractor successfully saved a card. Measured in seconds since the Unix epoch.

string

Public ID of the contractor the session is scoped to.

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

integer(int64)

Time at which a pending session expires and becomes unusable. Measured in seconds since the Unix epoch. Default lifetime is 30 minutes from creation.

string

Unique identifier for the object.

string

Value is checkout.

string

string

Current status of the session. pending is the only state in which the URL can be used; the other three are terminal.

Values are pending, completed, cancelled, or expired.

string

session_not_pending — the session is already in a terminal state. session_expired — the session is past its expires_at and the expiry job hasn't flipped it yet.

Missing or invalid API key.

Session not found.

curl \
 --request POST 'https://api.1099policy.com/api/v1/payment/sessions/{session}/cancel'

Webhook Endpoint

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

Webhooks are a way for 1099Policy to communicate with your server. To receive events you can use the webhook_endpoints API to register your webhook endpoints.

If you prefer, you can also register and configure your webhook endpoints from the dashboard.

When an event occurs, we'll send an HTTP POST request to the registered webhook endpoint. We'll notify your server about events that happen in your 1099Policy account, such as when a contractor starts an insurance application or when a policy is issued.

List all webhook endpoints

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/webhook_endpoints

Returns a list of your webhook endpoints. The webhook endpoints are returned sorted by updated date, with the most recently updated webhook endpoints appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

Responses

application/json

Returns an array of webhook endpoint objects. If no more webhook endpoints are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Optional human-readable description of the endpoint.

string

Unique identifier for the object.

string

Webhook secret which you can use to verify that the webhook is from 1099Policy. Read more about how to use the webhook secret to verify the webhook signature in our documentation here.

string

The URL of the webhook endpoint.

curl \
 --request GET 'https://api.1099policy.com/api/v1/webhook_endpoints'
[\
  {\
    "created": "2024-01-06T05:30:39.373Z",\
    "description": "string",\
    "id": "whe_KPGc5vEZdvoETu39BNwu2Z",\
    "secret": "whr_a_secret_key",\
    "url": "https://example.com/my/webhook/endpoint"\
  }\
]

Create a webhook endpoint

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

POST

/api/v1/webhook_endpoints

Creates a new webhook endpoint object.

application/json

Body

string

A human-readable description of the webhook endpoint.

array[string]

List of event types to subscribe to. If not provided, subscribes to all events. Use "*" to subscribe to all events. Available event types: policy.active, policy.active.media, policy.cancelled, policy.reactivated, application.created, application.started, application.complete, application.expired, application.renewed, application.ineligible, application.manual_review, application.manual_review_approved, assignment.active, assignment.cancelled, certificate.flagged, certificate.approved, certificate.denied, invoice.charge_card_failed, invoice.charge_card_succeeded, category_code.added

stringRequired

The URL of the webhook endpoint.

Responses

application/json

Returns the webhook endpoint object if the post succeeded.

Hide response attributesShow response attributesobject

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Optional human-readable description of the endpoint.

string

Unique identifier for the object.

string

string

The URL of the webhook endpoint.

curl \
 --request POST 'https://api.1099policy.com/api/v1/webhook_endpoints' \
 --header "Content-Type: application/json" \
 --data '{"description":"string","events":["application.complete","application.ineligible","policy.active"],"url":"string"}'
{
  "description": "string",
  "events": [\
    "application.complete",\
    "application.ineligible",\
    "policy.active"\
  ],
  "url": "string"
}
{
  "created": "2024-01-06T05:30:39.373Z",
  "description": "string",
  "id": "whe_KPGc5vEZdvoETu39BNwu2Z",
  "secret": "whr_a_secret_key",
  "url": "https://example.com/my/webhook/endpoint"
}

Retrieve a webhook endpoint

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/webhook_endpoints/{webhook_endpoint}

Retrieves the details of a webhook endpoint. You need only provide the unique webhook endpoint ID.

Path parameters

stringRequired

The ID of the desired webhook endpoint (e.g., whe_KPGc5vEZdvoETu39BNwu2Z).

Responses

application/json

Returns a webhook endpoint object if a valid ID was provided.

Hide response attributesShow response attributesobject

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Optional human-readable description of the endpoint.

string

Unique identifier for the object.

string

string

The URL of the webhook endpoint.

curl \
 --request GET 'https://api.1099policy.com/api/v1/webhook_endpoints/{webhook_endpoint}'

Update a webhook endpoint

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

PUT

/api/v1/webhook_endpoints/{webhook_endpoint}

Updates the specified webhook endpoint by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

Path parameters

stringRequired

The ID of the desired webhook endpoint (e.g., whe_KPGc5vEZdvoETu39BNwu2Z).

application/json

Body

string

A human-readable description of the webhook endpoint.

array[string]

string

The URL of the webhook endpoint.

Responses

application/json

Returns a webhook endpoint object if a valid webhook endpoint ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

string

Optional human-readable description of the endpoint.

string

Unique identifier for the object.

string

string

The URL of the webhook endpoint.

curl \
 --request PUT 'https://api.1099policy.com/api/v1/webhook_endpoints/whe_KPGc5vEZdvoETu39BNwu2Z' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"description\": \"A webhook endpoint for the example application.\",\n  \"events\": [\n    \"application.complete\",\n    \"application.ineligible\",\n    \"policy.active\"\n  ],\n  \"url\": \"https://example.com/my/webhook/endpoint\"\n}"'
{
  "description": "A webhook endpoint for the example application.",
  "events": [\
    "application.complete",\
    "application.ineligible",\
    "policy.active"\
  ],
  "url": "https://example.com/my/webhook/endpoint"
}

Delete a webhook endpoint

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

DELETE

/api/v1/webhook_endpoints/{webhook_endpoint}

Deletes the specified webhook endpoint.

Path parameters

stringRequired

The ID of the desired webhook endpoint.

Responses

application/json

Returns a success message if a valid webhook endpoint ID was provided. Returns an error otherwise.

Hide response attributesShow response attributesobject

boolean

integer

Unix timestamp (seconds since epoch) of when the webhook endpoint was deleted.

string

The webhook endpoint ID.

string

Default value is webhook_endpoint.

curl \
 --request DELETE 'https://api.1099policy.com/api/v1/webhook_endpoints/{webhook_endpoint}'
{
  "deleted": true,
  "deleted_at": 1640995200,
  "id": "whe_KPGc5vEZdvoETu39BNwu2Z",
  "object": "webhook_endpoint"
}

Event

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

Events are how we communicate notable activity on an independent contractor's insurance application, policy, and certificate processing. When an event occurs, we create a new Event object. For example, when an insurance application is started, we create an application.started event; when a policy is issued, we create a policy.active event; and when a certificate evaluation completes, we create certificate events such as certificate.approved, certificate.flagged, or certificate.denied.

API resource state changes trigger events. The state of that resource at the time of the change is embedded in the event's data field. For example, an application.started event will contain an insurance application Session object, a policy.active event will contain a Policy object, and certificate events will contain a Certificate object with the evaluation results.

These events are sent to your registered webhook endpoint, allowing you to respond immediately when certificate processing completes without needing to poll the API.

Use the events endpoints to retrieve an individual event or a list of events. You can listen for events by registering your server endpoint via the 1099Policy dashboard. Our webhooks system send the Event objects directly to your registered endpoint.

List all events

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/events

Returns a list of events with pagination (20 events per page). The events are sorted by creation date, with the most recent event appearing first.

Query parameters

integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Minimum value is 1, maximum value is 100. Default value is 10.

Responses

application/json

Returns an array of event objects. If no more events are available, the resulting array will be empty.

Hide response attributesShow response attributesobject

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

Object containing data associated with the event.

string

Unique identifier for the object.

string

Description of the event (e.g., application.started, policy.active, certificate.approved, certificate.flagged, certificate.denied).

curl \
 --request GET 'https://api.1099policy.com/api/v1/events'
[\
  {\
    "created": 1646818364,\
    "data": {},\
    "id": "ev_1a2b3c4d5e6f",\
    "type": "policy.cancelled"\
  }\
]

Retrieve an event

Ask AI



Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

`

https://docs.1099policy.com/mcp

`

Standard setup for AI tools providing an mcp.json file

mcp.json

{
  "1099Policy MCP server": {
    "url": "https://docs.1099policy.com/mcp"
  }
}

Close

GET

/api/v1/events/{event}

Retrieves the details of an event. You need only provide the unique event ID which you would have received in a webhook.

Path parameters

stringRequired

The ID of the desired event (e.g., ev_1a2b3c4d5e6f).

Responses

application/json

Returns an event object if a valid ID was provided.

Hide response attributesShow response attributesobject

integer(int64)

Time at which the object was created. Measured in seconds since the Unix epoch.

object

Object containing data associated with the event.

string

Unique identifier for the object.

string

Description of the event (e.g., application.started, policy.active, certificate.approved, certificate.flagged, certificate.denied).

curl \
 --request GET 'https://api.1099policy.com/api/v1/events/ev_1a2b3c4d5e6f'
{
  "created": 1646818364,
  "data": {},
  "id": "ev_1a2b3c4d5e6f",
  "type": "policy.cancelled"
}