openapi: 3.0.1 info: title: Herald Applications Producers API description: Herald is a unified REST API for commercial insurance. A single integration lets software platforms create applications, submit them to many carriers, and retrieve normalized quotes, products, classifications, distributors, producers, and files. Requests are authenticated with an OAuth2 client-credentials bearer token; an API key may also be supplied directly as a bearer token. The API is resource-oriented with JSON request and response bodies and standard HTTP status codes. termsOfService: https://www.heraldapi.com contact: name: Herald Support url: https://docs.heraldapi.com version: '1.0' servers: - url: https://api.heraldapi.com description: Production security: - bearerAuth: [] tags: - name: Producers paths: /distributors/{distributor_id}/producers: parameters: - $ref: '#/components/parameters/DistributorId' post: operationId: createProducer tags: - Producers summary: Create a producer description: Create a producer beneath a distributor. Producers connect to products and submit applications. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProducerCreateRequest' responses: '201': description: The producer was created. content: application/json: schema: $ref: '#/components/schemas/Producer' get: operationId: listProducers tags: - Producers summary: List producers responses: '200': description: A list of producers under the distributor. content: application/json: schema: type: object properties: producers: type: array items: $ref: '#/components/schemas/Producer' components: schemas: ProducerCreateRequest: type: object required: - name properties: name: type: string example: Jane Broker Producer: type: object properties: id: type: string example: prdcr_9f8e distributor_id: type: string example: dst_1a2b name: type: string example: Jane Broker parameters: DistributorId: name: distributor_id in: path required: true description: The unique identifier of the distributor. schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: Send an API key or an access token from /auth/token in the Authorization header as `Bearer `. Access tokens are obtained via the OAuth2 client-credentials grant and expire after 24 hours.