AppDirect Companies API

The Companies API from AppDirect — 4 operation(s) for companies.

OpenAPI Specification

appdirect-companies-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: The Companies API allows developers to manage marketplace companies and their user memberships.
  title: AI Embed Companies API
  license:
    name: Apache License, Version 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
  version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: Companies
  x-displayName: Companies
paths:
  /account/v2/companies/{companyUuid}/activities:
    get:
      description: 'Retrieve company or user activities.


        The displayType parameter dictates whether activities for the given user or activities for the whole company are returned.'
      tags:
      - Companies
      summary: Read activities
      operationId: resource_Company_readCompanyActivities_GET
      x-appdirect-required-scopes:
        ROLE_USER:
        - Allows access as an end user in the company.
        ROLE_RESELLER:
        - Allows access as a Reseller for the company.
        ROLE_SALES_SUPPORT:
        - Allows access as a Sales Support agent for the marketplace.
        ROLE_CHANNEL_SUPPORT:
        - Allows access as a Customer Support agent for the marketplace.
        ROLE_CHANNEL_ADMIN:
        - Allows access as a Marketplace Manager for the marketplace.
        ROLE_CORPORATE_ADMIN:
        - Allows access as a Network Manager for the marketplace.
        ROLE_PARTNER_READ:
        - Allows access to read all marketplace data.
      parameters:
      - description: Unique identifier of company in the API request
        name: companyUuid
        in: path
        required: true
        schema:
          type: string
      - description: Scope
        name: displayType
        in: query
        schema:
          type: string
          enum:
          - EVERYONE
          - ONLY_ME
          default: ONLY_ME
      - description: Zero-based page index
        name: page
        in: query
        schema:
          type: integer
          default: 0
      - description: The size of the page to be returned
        name: size
        in: query
        schema:
          type: integer
          default: 12
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                response:
                  value:
                    links: []
                    content:
                    - verb: COMPANY_ACTIVATED
                      timestamp:
                      - 2016
                      - 12
                      - 2
                      - 17
                      - 25
                      - 56
                      - 414
                      object:
                        id: 26
                        uuid: 222cf5ff-7795-4ece-b612-83ef6b72bb30
                        name: Company 6032459369
                        externalId: null
                        companyLinkMasked: false
                        type: COMPANY
                      subject:
                        id: 30
                        uuid: 8487f55b-05be-4c0e-97d8-021e5ca4008b
                        name: Susan Doe
                        email: susan.doe@company5087848592.com
                        externalId: null
                        activated: true
                        deleted: false
                        userRemovedFromCompanyObject: false
                        userRemovedFromCompanyTarget: false
                        personalInfoMasked: false
                        profileLinkMasked: false
                        type: USER
                      target:
                        id: 194379
                        uuid: a0504b87-f21f-40fe-9de1-e8479776a26f
                        name: Matts Company
                        externalId: null
                        companyLinkMasked: false
                        type: COMPANY
                      actor:
                        id: 1344
                        uuid: 966216bb-bb4e-4766-8849-fd72eead20ce
                        name: C2801919_first last
                        email: c2801919@appdirect.com
                        externalId: null
                        activated: false
                        deleted: false
                        userRemovedFromCompanyObject: false
                        userRemovedFromCompanyTarget: false
                        personalInfoMasked: false
                        profileLinkMasked: false
                        roleChanges: null
                        type: USER
                      context:
                        description: Documentation Center 283
                        header: Documentation Center 283
                        imageUrl: https://d33na3ni6eqf5j.cloudfront.net/importable_app_resources/81858cea-627f-45ee-8906-67d5a23dd3bf/list.png?b5960593b97c0fdd95bc9b81c08e70bb
                      origin: MARKETPLACE
                      links: []
                    - verb: USER_JOINED
                      timestamp:
                      - 2016
                      - 12
                      - 2
                      - 17
                      - 25
                      - 56
                      - 401
                      object:
                        id: 26
                        uuid: 222cf5ff-7795-4ece-b612-83ef6b72bb30
                        name: Company 6032459369
                        externalId: null
                        companyLinkMasked: false
                        type: COMPANY
                      subject:
                        id: 30
                        uuid: 8487f55b-05be-4c0e-97d8-021e5ca4008b
                        name: Susan Doe
                        email: susan.doe@company5087848592.com
                        externalId: null
                        activated: true
                        deleted: false
                        userRemovedFromCompanyObject: false
                        userRemovedFromCompanyTarget: false
                        personalInfoMasked: false
                        profileLinkMasked: false
                        type: USER
                      target:
                        id: 149379
                        uuid: 70904b87-a2bf-40fe-9de1-e8479776a26f
                        name: Global Company
                        externalId: null
                        companyLinkMasked: false
                        type: COMPANY
                      actor:
                        id: 1434
                        uuid: ac6216bb-bb4e-4766-8849-fd72eead20ce
                        name: Adam Smith
                        email: c3945627346@appdirect.com
                        externalId: null
                        activated: false
                        deleted: false
                        userRemovedFromCompanyObject: false
                        userRemovedFromCompanyTarget: false
                        personalInfoMasked: false
                        profileLinkMasked: false
                        roleChanges: null
                        type: USER
                      context:
                        description: Documentation Center 283
                        header: Documentation Center 283
                        imageUrl: https://d33na3ni6eqf5j.cloudfront.net/importable_app_resources/81858cea-627f-45ee-8906-67d5a23dd3bf/list.png?b5960593b97c0fdd95bc9b81c08e70bb
                      origin: null
                      links: []
                    page:
                      size: 2
                      totalElements: 2
                      totalPages: 1
                      number: 0
        '401':
          description: Unauthorized
        '404':
          description: Company not found
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/activities?displayType=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/activities',\n  qs: {\n    displayType: 'SOME_STRING_VALUE',\n    page: 'SOME_INTEGER_VALUE',\n    size: 'SOME_INTEGER_VALUE'\n  }\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/activities?displayType=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE\")\n  .get()\n  .build();\n\nResponse response = client.newCall(request).execute();"
  /account/v2/companies:
    get:
      description: 'Retrieve all marketplace companies.</br></br>Rate limit: Bucket size is 20 requests, with a leak rate of 5 requests per second.<br></br>Rate limit uses [leaky bucket algorithm](https://en.wikipedia.org/wiki/Leaky_bucket). Usage of a leaky bucket algorithm allows client applications to make an unlimited number of requests over a large time horizon but prevents excessively large bursts over a short one.'
      tags:
      - Companies
      summary: List all companies
      operationId: resource_Company_readAllCompanies_GET
      x-appdirect-required-scopes:
        ROLE_SALES_SUPPORT:
        - Allows access as a Sales Support agent for the marketplace.
        ROLE_CHANNEL_SUPPORT:
        - Allows access as a Customer Support agent for the marketplace.
        ROLE_CHANNEL_ADMIN:
        - Allows access as a Marketplace Manager for the marketplace.
        ROLE_CORPORATE_ADMIN:
        - Allows access as a Network Manager for the marketplace.
        ROLE_PARTNER_READ:
        - Allows access to read all marketplace data.
      parameters:
      - description: Company name
        name: name
        in: query
        schema:
          type: string
      - description: Optional. Default is true. When set to true, company custom attributes are included in the API response. When set to false, company custom attributes are not included.
        name: includeCustomAttributes
        in: query
        schema:
          type: boolean
      - description: Optional. Default is true. When set to true, the purchase limit attributes are fetched, calculated and populated in the response. When set to false, the purchase limit attributes are not fetched.
        name: includePurchaseLimitData
        in: query
        schema:
          type: boolean
      - description: Optional. When set to true, only vendor companies are returned. When set to false, only non-vendor companies are returned. When omitted, all companies are returned (existing behaviour).
        name: vendor
        in: query
        schema:
          type: boolean
      - description: Zero-based page index
        name: page
        in: query
        schema:
          type: integer
          default: 0
      - description: The number of search results to return per page
        name: size
        in: query
        schema:
          type: integer
          default: 50
      - description: The property to sort by
        name: sortField
        in: query
        schema:
          type: string
          enum:
          - NAME
          default: NAME
      - description: Ordering type
        name: sortOrder
        in: query
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: DESC
      - description: Accepts a notIn filter in the form of ?custom.customAttributeName=notIn(customAttributeValue1, customAttributeValue2, customAttributeValueN...) that excludes companies with matching values. Before you can use the filter, you must first create "Text" type company custom attributes in the user interface. You can then specify the custom attribute name and values as customAttributeName and customAttributeValueN. See https://help.appdirect.com/platform/Default.htm#MarketplaceManager/MM-Setgscustui-create-attribs.html.
        name: custom.customAttributeName
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                response:
                  value:
                    links: []
                    content:
                    - uuid: a3f385be-e10b-444e-99d1-95cd7d4c1f5a
                      name: John & Co
                      enabled: true
                      address:
                        street1: Harris Place NW
                        street2: '907'
                        city: Calgary
                        state: AB
                        zip: T3B2V4
                        country: Canada
                      companySize: SMALL
                      customAttributes: []
                      creationDate: 1457416568000
                      industry: Finance
                      salesAgent:
                        rel: salesRepLink
                        href: http://marketplace.local:8080/api/account/v2/users/a3f385be-e10b-444e-99d1-95cd7d4c1f5a
                      emailAddress: john.smith@example.com
                      website: example.com
                      picture: null
                      vendor: true
                      reseller: false
                      channelAdmin: true
                      salesSupport: false
                      externalId: 37ac4899-0847-41ac-8e6b-adfde0363b37
                      phoneNumber: 888-888-8888
                      defaultRole: USER
                      countryCode: US
                      links:
                      - rel: self
                        href: http://marketplace.local:8080/api/account/v2/companies/a3f385be-e10b-444e-99d1-95cd7d4c1f5a
                      - rel: memberships
                        href: http://marketplace.local:8080/api/account/v2/companies/a3f385be-e10b-444e-99d1-95cd7d4c1f5a/memberships
                    - uuid: 42f4e0cd-0614-4695-87ba-fcaee49fb995
                      name: John & Co
                      enabled: false
                      address:
                        street1: Harris Place NW
                        street2: '907'
                        city: Calgary
                        state: AB
                        zip: T3B2V4
                        country: Canada
                      companySize: SMALL
                      customAttributes:
                      - name: C1593404
                        attributeType: TEXT
                        label: C1593404
                        hint: ''
                        value: t1
                      creationDate: 1521573411000
                      industry: Finance
                      salesAgent:
                        rel: salesRepLink
                        href: http://marketplace.local:8080/api/account/v2/users/a3f385be-e10b-444e-99d1-95cd7d4c1f5a
                      emailAddress: john.smith@example.com
                      website: example.com
                      picture: null
                      vendor: true
                      reseller: false
                      channelAdmin: true
                      salesSupport: false
                      externalId: b34974b2-f5d6-4326-9859-5247dc42ee60
                      phoneNumber: 888-888-8888
                      defaultRole: USER
                      countryCode: US
                      links:
                      - rel: self
                        href: http://marketplace.local:8080/api/account/v2/companies/42f4e0cd-0614-4695-87ba-fcaee49fb995
                      - rel: memberships
                        href: http://marketplace.local:8080/api/account/v2/companies/42f4e0cd-0614-4695-87ba-fcaee49fb995/memberships
                    page:
                      size: 50
                      totalElements: 2
                      totalPages: 1
                      number: 0
        '401':
          description: Unauthorized
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'https://marketplace.appdirect.com/api/account/v2/companies?name=SOME_STRING_VALUE&includeCustomAttributes=SOME_BOOLEAN_VALUE&includePurchaseLimitData=SOME_BOOLEAN_VALUE&vendor=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&custom.customAttributeName=SOME_STRING_VALUE'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://marketplace.appdirect.com/api/account/v2/companies',\n  qs: {\n    name: 'SOME_STRING_VALUE',\n    includeCustomAttributes: 'SOME_BOOLEAN_VALUE',\n    includePurchaseLimitData: 'SOME_BOOLEAN_VALUE',\n    vendor: 'SOME_BOOLEAN_VALUE',\n    page: 'SOME_INTEGER_VALUE',\n    size: 'SOME_INTEGER_VALUE',\n    sortField: 'SOME_STRING_VALUE',\n    sortOrder: 'SOME_STRING_VALUE',\n    'custom.customAttributeName': 'SOME_STRING_VALUE'\n  }\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/account/v2/companies?name=SOME_STRING_VALUE&includeCustomAttributes=SOME_BOOLEAN_VALUE&includePurchaseLimitData=SOME_BOOLEAN_VALUE&vendor=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&custom.customAttributeName=SOME_STRING_VALUE\")\n  .get()\n  .build();\n\nResponse response = client.newCall(request).execute();"
    post:
      description: Create a new marketplace company
      tags:
      - Companies
      summary: Create new company
      operationId: resource_Company_createCompany_POST
      x-appdirect-required-scopes:
        ROLE_SALES_SUPPORT:
        - Allows access as a Sales Support agent for the marketplace.
        ROLE_CHANNEL_SUPPORT:
        - Allows access as a Customer Support agent for the marketplace.
        ROLE_CHANNEL_ADMIN:
        - Allows access as a Marketplace Manager for the marketplace.
        ROLE_CORPORATE_ADMIN:
        - Allows access as a Network Manager for the marketplace.
        ROLE_PARTNER:
        - Allows access to read and write all marketplace data.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCompanyV2Request'
        description: New marketplace company
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              examples:
                response:
                  value:
                    allowLogin: true
                    uuid: d689b970-f3f9-42a6-a974-90e2bdadf860
                    name: Company 7078259907
                    picture: http://localhost:8080/profilePics/http://cdn/company.png
                    vendor: false
                    reseller: false
                    phoneNumber: '9259221234'
                    defaultRole: USER
                    enabled: true
                    customAttributes:
                    - name: Geographic Region
                      attributeType: TEXT
                      label: Geographic Region
                      hint: US West, US Central, or US East
                      value: US
                    - name: Company Details
                      attributeType: MULTISELECT
                      label: Label Names
                      hint: ''
                      valueKeys:
                      - great option
                    firstUser:
                      email: john.simpson@company58330881985.com
                      firstName: John
                      lastName: Simpson
                      roles:
                      - ROLE_USER
                    links:
                    - rel: self
                      href: http://appdirect/api/account/v2/companies/d689b970-f3f9-42a6-a974-90e2bdadf860
                    - rel: memberships
                      href: http://appdirect/api/account/v2/companies/d689b970-f3f9-42a6-a974-90e2bdadf860/memberships
        '401':
          description: Unauthorized
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://marketplace.appdirect.com/api/account/v2/companies \\\n  --header 'content-type: application/json' \\\n  --data '{\"externalId\":\"P02TSQ3YPZoykqx1a10\",\"name\":\"Company Example\",\"companySize\":\"SMALL\",\"defaultRole\":\"USER\",\"countryCode\":\"US\",\"emailAddress\":\"info@company12345.com\",\"phoneNumber\":\"11234567890\",\"website\":\"https://www.company12345.com\",\"industry\":\"Sales\",\"address\":{\"city\":\"New York\",\"country\":\"US\",\"state\":\"NY\",\"street1\":\"980 West 881st Street\",\"street2\":\"55AB\",\"zip\":\"12345\"},\"channelAdmin\":false,\"reseller\":false,\"vendor\":false,\"customAttributes\":[{\"name\":\"text_example\",\"value\":\"foo\"},{\"name\":\"multiselect_checkboxes_example\",\"valueKeys\":[\"ipsum\",\"fake\"]}],\"firstUser\":{\"firstName\":\"John\",\"lastName\":\"Smith\",\"email\":\"john.smith@company12345.com\",\"roles\":[\"ROLE_SYS_ADMIN\"]}}'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'POST',\n  url: 'https://marketplace.appdirect.com/api/account/v2/companies',\n  headers: {'content-type': 'application/json'},\n  body: {\n    externalId: 'P02TSQ3YPZoykqx1a10',\n    name: 'Company Example',\n    companySize: 'SMALL',\n    defaultRole: 'USER',\n    countryCode: 'US',\n    emailAddress: 'info@company12345.com',\n    phoneNumber: '11234567890',\n    website: 'https://www.company12345.com',\n    industry: 'Sales',\n    address: {\n      city: 'New York',\n      country: 'US',\n      state: 'NY',\n      street1: '980 West 881st Street',\n      street2: '55AB',\n      zip: '12345'\n    },\n    channelAdmin: false,\n    reseller: false,\n    vendor: false,\n    customAttributes: [\n      {name: 'text_example', value: 'foo'},\n      {name: 'multiselect_checkboxes_example', valueKeys: ['ipsum', 'fake']}\n    ],\n    firstUser: {\n      firstName: 'John',\n      lastName: 'Smith',\n      email: 'john.smith@company12345.com',\n      roles: ['ROLE_SYS_ADMIN']\n    }\n  },\n  json: true\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"externalId\\\":\\\"P02TSQ3YPZoykqx1a10\\\",\\\"name\\\":\\\"Company Example\\\",\\\"companySize\\\":\\\"SMALL\\\",\\\"defaultRole\\\":\\\"USER\\\",\\\"countryCode\\\":\\\"US\\\",\\\"emailAddress\\\":\\\"info@company12345.com\\\",\\\"phoneNumber\\\":\\\"11234567890\\\",\\\"website\\\":\\\"https://www.company12345.com\\\",\\\"industry\\\":\\\"Sales\\\",\\\"address\\\":{\\\"city\\\":\\\"New York\\\",\\\"country\\\":\\\"US\\\",\\\"state\\\":\\\"NY\\\",\\\"street1\\\":\\\"980 West 881st Street\\\",\\\"street2\\\":\\\"55AB\\\",\\\"zip\\\":\\\"12345\\\"},\\\"channelAdmin\\\":false,\\\"reseller\\\":false,\\\"vendor\\\":false,\\\"customAttributes\\\":[{\\\"name\\\":\\\"text_example\\\",\\\"value\\\":\\\"foo\\\"},{\\\"name\\\":\\\"multiselect_checkboxes_example\\\",\\\"valueKeys\\\":[\\\"ipsum\\\",\\\"fake\\\"]}],\\\"firstUser\\\":{\\\"firstName\\\":\\\"John\\\",\\\"lastName\\\":\\\"Smith\\\",\\\"email\\\":\\\"john.smith@company12345.com\\\",\\\"roles\\\":[\\\"ROLE_SYS_ADMIN\\\"]}}\");\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/account/v2/companies\")\n  .post(body)\n  .addHeader(\"content-type\", \"application/json\")\n  .build();\n\nResponse response = client.newCall(request).execute();"
  /account/v2/companies/{companyUuid}:
    get:
      description: Retrieve a marketplace company by ID or external ID. If you use the ID, you can omit a prefix or use 'id:' as the prefix. If you use the external ID, you must always specify the 'externalId:' prefix.
      tags:
      - Companies
      summary: Read a company
      operationId: resource_Company_readCompany_GET
      x-appdirect-required-scopes:
        ROLE_USER:
        - Allows access as an end user in the company.
        ROLE_RESELLER:
        - Allows access as a Reseller for the company.
        ROLE_SALES_SUPPORT:
        - Allows access as a Sales Support agent for the marketplace.
        ROLE_CHANNEL_SUPPORT:
        - Allows access as a Customer Support agent for the marketplace.
        ROLE_CHANNEL_ADMIN:
        - Allows access as a Marketplace Manager for the marketplace.
        ROLE_CORPORATE_ADMIN:
        - Allows access as a Network Manager for the marketplace.
        ROLE_PARTNER_READ:
        - Allows access to read all marketplace data.
      parameters:
      - description: Unique identifier (ID or external ID) of the company in the API request
        name: companyUuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                response:
                  value:
                    uuid: d689b970-f3f9-42a6-a974-90e2bdadf860
                    name: Company 7078259907
                    enabled: true
                    allowLogin: true
                    address:
                      street1: Stephen Ave
                      street2: '12'
                      city: Calgary
                      state: AB
                      zip: T22V34
                      country: Canada
                    companySize: SMALL
                    customAttributes:
                    - name: Geographic Region
                      attributeType: TEXT
                      label: Geographic Region
                      hint: US West, US Central, or US East
                      value: US
                    - name: Company Details
                      attributeType: MULTISELECT
                      label: Label Names
                      hint: ''
                      valueKeys:
                      - great option
                    creationDate: 1457416568000
                    industry: Finance
                    salesAgent:
                      rel: salesRepLink
                      href: http://marketplace.local:8080/api/account/v2/users/a3f385be-e10b-444e-99d1-95cd7d4c1f5a
                    emailAddress: john.smith@example.com
                    website: example.com
                    picture: http://localhost:8080/profilePics/http://cdn/company.png
                    vendor: true
                    reseller: false
                    channelAdmin: true
                    salesSupport: false
                    externalId: 37ac4899-0847-41ac-8e6b-adfde0363b37
                    phoneNumber: 888-888-8888
                    defaultRole: USER
                    countryCode: US
                    thirtyDaysPurchaseLimitExempt: false
                    thirtyDaysPurchaseLimitOverrideAmt: null
                    dailyPurchaseLimitExempt: false
                    dailyPurchaseLimitOverrideAmt: 10
                    mosiCustomerId: dda1de23-f062-4391-b213-4deab524552a
                    partner: APPDIRECT
                    links:
                    - rel: self
                      href: http://appdirect/api/account/v2/companies/d689b970-f3f9-42a6-a974-90e2bdadf860
                    - rel: memberships
                      href: http://appdirect/api/account/v2/companies/d689b970-f3f9-42a6-a974-90e2bdadf860/memberships
        '401':
          description: Unauthorized
        '404':
          description: Company not found
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D'\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D\")\n  .get()\n  .build();\n\nResponse response = client.newCall(request).execute();"
    put:
      description: Update a marketplace company.
      tags:
      - Companies
      summary: Update company
      operationId: resource_Company_updateCompany_PUT
      x-appdirect-required-scopes:
        ROLE_SALES_SUPPORT:
        - Allows access as a Sales Support agent for the marketplace.
        ROLE_CHANNEL_SUPPORT:
        - Allows access as a Customer Support agent for the marketplace.
        ROLE_CHANNEL_ADMIN:
        - Allows access as a Marketplace Manager for the marketplace.
        ROLE_CORPORATE_ADMIN:
        - Allows access as a Network Manager for the marketplace.
        ROLE_PARTNER:
        - Allows access to read and write all marketplace data.
      parameters:
      - description: Company ID
        name: companyUuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCompanyAccountV2Request'
        description: Marketplace company details to be updated
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                response:
                  value:
                    uuid: d689b970-f3f9-42a6-a974-90e2bdadf860
                    name: Company 7078259907
                    enabled: true
                    allowLogin: true
                    address:
                      street1: Stephen Ave
                      street2: '12'
                      city: Calgary
                      state: AB
                      zip: T22V34
                      country: Canada
                    companySize: SMALL
                    customAttributes:
                    - name: Geographic Region
                      attributeType: TEXT
                      label: Geographic Region
                      hint: US West, US Central, or US East
                      value: US
                    - name: Company Details
                      attributeType: MULTISELECT
                      label: Label Names
                      hint: ''
                      valueKeys:
                      - great option
                    creationDate: 1457416568000
                    industry: Finance
                    salesAgent:
                      rel: salesRepLink
                      href: http://marketplace.local:8080/api/account/v2/users/a3f385be-e10b-444e-99d1-95cd7d4c1f5a
                    emailAddress: john.smith@example.com
                    website: example.com
                    picture: http://localhost:8080/profilePics/http://cdn/company.png
                    vendor: true
                    reseller: false
                    channelAdmin: true
                    salesSupport: false
                    externalId: 37ac4899-0847-41ac-8e6b-adfde0363b37
                    phoneNumber: 888-888-8888
                    defaultRole: USER
                    countryCode: US
                    thirtyDaysPurchaseLimitExempt: false
                    thirtyDaysPurchaseLimitOverrideAmt: null
                    dailyPurchaseLimitExempt: false
                    dailyPurchaseLimitOverrideAmt: 10
                    mosiCustomerId: dda1de23-f062-4391-b213-4deab524552a
                    partner: APPDIRECT
                    links:
                    - rel: self
                      href: http://appdirect/api/account/v2/companies/d689b970-f3f9-42a6-a974-90e2bdadf860
                    - rel: memberships
                      href: http://appdirect/api/account/v2/companies/d689b970-f3f9-42a6-a974-90e2bdadf860/memberships
        '401':
          description: Unauthorized
        '

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appdirect/refs/heads/main/openapi/appdirect-companies-api-openapi.yml