--- openapi: "3.0.0" servers: - url: "https://api.enterprise.apigee.com/v1" info: title: "Company Developers API" description: "Associate developers with a company. \nThe company developer creates\ \ apps on behalf of the company. Any apps created by a company developer are associated\ \ with the company and known as \"company apps.\" A developer must exist before\ \ you can associate them with a company.\n\nWhen you add a developer to a company,\ \ you specify the developer's email and assign the developer a role. Company developer\ \ roles are enforced by the client app that you build using the API, not by Apigee.\ \ Therefore, when you retrieve a list of company apps on behalf of a developer,\ \ it is your code that checks the developer's role and displays the capabilities\ \ appropriate for that role. You typically create an admin role to allow a company\ \ developer to add other developers, delete company apps, and so on. Company developers\ \ are mapped to developers in your organization using the developer email as a\ \ key. The mapping associates the developer with the company and adds a role.\ \ The company developer entity simply stores an email address and a role while\ \ the organization developer entity that it maps to can have a wide variety of\ \ attributes defined." version: "1.0" security: - Basic: [] - OAuth: [] paths: /organizations/{org_name}/companies/{company_name}/developers: post: tags: - "Company Developer" summary: "Add or update company developers" description: "Adds a developer to a company, or updates an existing developer\ \ in the company.\n\nOptionally, you can assign a role to the developer, though\ \ it is not required. You can create roles for your partners, such as administrator\ \ or application developer. Those roles can then be assigned to specific partner\ \ employees.\n\nWhen updating an existing developer, specify both the developer's\ \ email and role (if applicable)." operationId: "addUpdateCompanyDevelopers" parameters: - $ref: "#/components/parameters/org_name" - $ref: "#/components/parameters/company_name" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/companyDevelopers" example: developer: - email: "ahamilton@example.com" role: "myrole" "400": description: "Bad request" requestBody: description: "Add or update a company developer." content: application/json: schema: $ref: "#/components/schemas/companyDevelopers" example: developer: - email: "ahamilton@example.com" role: "myrole" get: tags: - "Company Developer" summary: "List developers in company" description: "Lists developers in a company." operationId: "listDevelopersCompany" parameters: - $ref: "#/components/parameters/org_name" - $ref: "#/components/parameters/company_name" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/companyDevelopers" example: developer: - email: "ahamilton@example.com" role: "myrole" "400": description: "Bad request" /organizations/{org_name}/companies/{company_name}/developers/{developer_email}: delete: tags: - "Company Developer" summary: "Remove developer from company" description: "Removes a developer from a company." operationId: "removeDeveloperCompany" parameters: - $ref: "#/components/parameters/org_name" - $ref: "#/components/parameters/company_name" - $ref: "#/components/parameters/developer_email" responses: "204": description: "No Content" "400": description: "Bad request" components: securitySchemes: Basic: type: "http" scheme: "basic" description: "Multi-factor authentication is not supported." OAuth: type: "apiKey" name: "Authorization" in: "header" description: "For OAuth, enter the following in the Key field: Bearer %your-token%\ \ (see https://docs.apigee.com/api-platform/system-administration/using-oauth2#get-the-tokens)" parameters: org_name: in: "path" name: "org_name" required: true schema: type: "string" description: "Organization name." company_name: in: "path" name: "company_name" required: true schema: type: "string" description: "Company name." developer_email: in: "path" name: "developer_email" required: true schema: type: "string" description: "Email address of the developer." schemas: companyDevelopers: description: "Company." type: "object" properties: developer: type: "array" description: "List of developers in a company." items: type: "object" properties: email: type: "string" description: "Email address of the developer." role: type: "string" description: "Role that may be used for access control to app information\ \ by a client, but which is not enforced by Apigee."