# Get the current dynamic business submission contract

`GET /source-channels/{source_channel_id}/business-contract/`

Add businesses through a Lead source, complete their intake applications, and follow their progress.

Base URL: https://api.levr.ai/v1

Authentication: Bearer — Portal API key

[REST guide](https://docs.levr.ai/rest-api.md) · [OpenAPI specification](https://docs.levr.ai/generated/openapi.json)

## Parameters

### source_channel_id (path)

Type: string. Required: yes.

Schema:



```json
{
  "pattern": "^srcch_[a-z0-9]+$",
  "type": "string"
}
```

## Example request

```sh
curl --request GET \
  --url "https://api.levr.ai/v1/source-channels/$SOURCE_CHANNEL_ID/business-contract/" \
  --header "Authorization: Bearer $LEVR_API_KEY"
```

## Responses

### 200

The channel's current published JSON Schema and submission URL.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "contract_version": {
      "type": "integer"
    },
    "create_business_url": {
      "format": "uri",
      "type": "string"
    },
    "request_schema": {
      "type": "object"
    },
    "source_channel": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "pattern": "^srcch_[a-z0-9]+$",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "object": {
          "const": "source_channel",
          "type": "string"
        }
      },
      "required": [
        "id",
        "object",
        "name"
      ],
      "type": "object"
    }
  },
  "required": [
    "source_channel",
    "contract_version",
    "request_schema",
    "create_business_url"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "contract_version": 3,
  "create_business_url": "https://example.invalid/use-the-url-returned-by-the-api",
  "request_schema": {},
  "source_channel": {
    "id": "srcch_2m8q7c9k4x6p3n5d",
    "name": "Growth financing intake",
    "object": "source_channel"
  }
}
```

### 401

Provide a valid API key and try again.

#### Response headers



```json
{
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "invalid_api_key",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/businesses/get-source-channel-business-contract/",
    "message": "Provide a valid API key and try again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "authentication_error"
  }
}
```

### 403

This API key does not allow the requested action.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "permission_denied",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/businesses/get-source-channel-business-contract/",
    "message": "This API key does not allow this action.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "permission_error"
  }
}
```

### 404

The requested resource was not found or is not available to this API key.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "not_found",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/businesses/get-source-channel-business-contract/",
    "message": "The requested resource was not found.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "invalid_request_error"
  }
}
```

### 409

The request conflicts with the resource's current state. Refresh it before trying again.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "conflict",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/businesses/get-source-channel-business-contract/",
    "message": "The request conflicts with the current resource state.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "conflict_error"
  }
}
```

### 429

Too many requests were sent. Wait before trying again.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  },
  "Retry-After": {
    "description": "Minimum seconds to wait before retrying.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "rate_limited",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/businesses/get-source-channel-business-contract/",
    "message": "Wait before sending another request.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "rate_limit_error"
  }
}
```

### 500

Levr could not complete the request. Keep the request ID and retry when safe.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "internal_error",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/businesses/get-source-channel-business-contract/",
    "message": "Retry the request, then contact support if it fails again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "api_error"
  }
}
```
