openapi: 3.2.0 info: title: Identity API Keys API version: 1.0.0 servers: - url: https://test.api.solvimon.com description: The TEST environment for our API - url: https://api.solvimon.com description: The live environment for our API tags: - name: API Keys paths: /v{version}/api-keys: get: operationId: getApiKeys summary: Get a list of all API Keys description: Requires the USER.API.VIEW permission. tags: - API Keys parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: active in: query description: The active flag by which the resource will be filtered. required: false schema: type: boolean - name: limit in: query description: The amount of records shown in the list required: false schema: type: integer - name: page in: query description: The page which is going to be shown required: false schema: type: integer - name: order_by in: query description: The parameter by which the response is ordered. required: false schema: type: string - name: order_direction in: query description: The order direction by which the response is ordered. required: false schema: type: string - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiKeyPaginatedResponseWrapper' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' post: operationId: postApiKeys summary: Create an API Key description: Requires the USER.API.CREATE permission. tags: - API Keys parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiKeyCreateRequest' /v{version}/api-keys/search: post: operationId: postApiKeysSearch summary: Search for api keys using a filter description: Requires the USER.API.VIEW permission. tags: - API Keys parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' requestBody: content: application/json: schema: $ref: '#/components/schemas/UserSearchFilterCreateRequest' /v{version}/api-keys/{resourceId}: get: operationId: getApiKeysByResourceId summary: Get an API key by id description: Requires the USER.API.VIEW permission. tags: - API Keys parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: resourceId in: path description: The ID of the resource to be requested. required: true schema: type: string default: '' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' patch: operationId: patchApiKeysByResourceId summary: Patch an API key by id description: Requires the USER.API.UPDATE permission. tags: - API Keys parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: resourceId in: path description: The ID of the resource to be requested. required: true schema: type: string default: '' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiKeyUpdateRequest' /v{version}/api-keys/{resourceId}/decrypt: get: operationId: getApiKeysByResourceIdDecrypt summary: Get a decrypted API key by id description: Requires the USER.API.VIEW permission. tags: - API Keys parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: resourceId in: path description: The ID of the resource to be requested. required: true schema: type: string default: '' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' components: schemas: ApiErrorCode: type: string enum: - RESOURCE_NOT_FOUND - RESOURCES_NOT_FOUND - UNABLE_TO_PROCESS_INSTRUCTIONS - BAD_REQUEST - UNSUPPORTED_MEDIA_TYPE - RESOURCE_ALREADY_EXISTS - CUSTOM_FIELD_VALUE_ALREADY_EXISTS - COULD_NOT_CREATE_RESOURCE - COULD_NOT_UPDATE_RESOURCE - COULD_NOT_DELETE_RESOURCE - MISSING_VERSION - UNSUPPORTED_VERSION - UNAUTHORISED - CUSTOMER_NOT_FOUND - PLATFORM_NOT_FOUND - PRICING_PLAN_NOT_FOUND - PRODUCT_NOT_FOUND - PRODUCT_ITEM_NOT_FOUND - PRICING_NOT_FOUND - PRICING_ITEM_NOT_FOUND - USER_NOT_FOUND - METER_NOT_FOUND - METER_VALUE_NOT_FOUND - METER_PROPERTY_NOT_FOUND - PRICING_ITEM_SUMMARIES_NOT_FOUND - MISSING_ID - INVALID_ID - MISSING_REFERENCE - MISSING_FIELD - INVALID_FIELD - INVALID_OPERATION - INTERNAL_ERROR - USER_NOT_ALLOWED - IDEMPOTENCY_CHECK_FAILED - INVALID_REQUEST title: ApiErrorCode ApiError: type: object properties: type: $ref: '#/components/schemas/ApiErrorType' code: $ref: '#/components/schemas/ApiErrorCode' field: type: - string - 'null' message: type: string resource_id: type: - string - 'null' resource_type: oneOf: - $ref: '#/components/schemas/ApiErrorResourceType' - type: 'null' required: - type - code - message title: ApiError ApiKeyPaginatedResponseWrapper: type: object properties: data: type: array items: $ref: '#/components/schemas/ApiKey' limit: type: - integer - 'null' page: type: - integer - 'null' total_number_of_pages: type: - integer - 'null' links: $ref: '#/components/schemas/PaginationLinks' required: - data - links title: ApiKeyPaginatedResponseWrapper ApiKeyStatus: type: string enum: - INVITED - INVITE_REVOKED - ACTIVE - INACTIVE description: Indicates the status of this API key title: ApiKeyStatus ApiKeyCreateRequestStatus: type: string enum: - INVITED - INVITE_REVOKED - ACTIVE - INACTIVE description: Indicates the status of this API key title: ApiKeyCreateRequestStatus AccountMembershipRepresentation: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' description: The id of this account membership account_id: type: string description: The id of the account that this membership is for account_reference: type: - string - 'null' description: The reference of the account that this membership is for environment: type: - string - 'null' description: The environment that this membership is for account: oneOf: - $ref: '#/components/schemas/AccountRepresentation' - type: 'null' description: The account that this membership is for type: $ref: '#/components/schemas/AccountMembershipRepresentationType' description: The type of this membership role_ids: type: array items: type: string description: The roles assigned through this membership roles: type: - array - 'null' items: $ref: '#/components/schemas/Role' description: The roles that belong to this membership title: AccountMembershipRepresentation ApiKeyCreateRequest: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' description: The id of this API key api_key: type: - string - 'null' description: The API Key itself entity_id: type: - string - 'null' description: The id of the entity that this API key belongs to created_at: type: - string - 'null' description: The creation date of the API key active: type: - boolean - 'null' description: Indicates whether this API key is active or not status: oneOf: - $ref: '#/components/schemas/ApiKeyCreateRequestStatus' - type: 'null' description: Indicates the status of this API key description: type: - string - 'null' description: Description of this API key, e.g. for describing type/location of usage account_memberships: type: - array - 'null' items: $ref: '#/components/schemas/AccountMembershipRepresentationCreateRequest' description: Account memberships that this API key has team_memberships: type: - array - 'null' items: $ref: '#/components/schemas/TeamMemberRepresentationCreateRequest' description: The team memberships that this API key has role_type: oneOf: - $ref: '#/components/schemas/ApiKeyCreateRequestRoleType' - type: 'null' description: The role assigned to this API key, determining its access level. The default role is ADMINISTRATOR title: ApiKeyCreateRequest ApiKeyUpdateRequestRoleType: type: string enum: - ADMINISTRATOR - READ_ONLY description: The role assigned to this API key, determining its access level. The default role is ADMINISTRATOR title: ApiKeyUpdateRequestRoleType ApiErrorType: type: string enum: - API_ERROR - INVALID_REQUEST title: ApiErrorType RoleChildRolesItems: type: object properties: {} title: RoleChildRolesItems ApiKeyUpdateRequestStatus: type: string enum: - INVITED - INVITE_REVOKED - ACTIVE - INACTIVE description: Indicates the status of this API key title: ApiKeyUpdateRequestStatus PaginationLinks: type: object properties: first: type: - string - 'null' previous: type: - string - 'null' current: type: - string - 'null' next: type: - string - 'null' title: PaginationLinks AccountRepresentation: type: object properties: id: type: string description: The id of the account reference: type: string description: The reference of the account account_type_code: type: string description: The type code of the account environment: type: string description: The environment of this account account_group_id: type: string description: The id of the account group that this account is associated with parent_id: type: - string - 'null' description: The id of the parent account of this account platform_id: type: - string - 'null' description: The id of the platform that this account belongs to title: AccountRepresentation AccountMembershipRepresentationType: type: string enum: - ADMIN - USER - PARTNER description: The type of this membership title: AccountMembershipRepresentationType AccountMembershipRepresentationUpdateRequestType: type: string enum: - ADMIN - USER - PARTNER description: The type of this membership title: AccountMembershipRepresentationUpdateRequestType TeamMemberRepresentationUpdateRequest: type: object properties: team_id: type: - string - 'null' description: The id of this team membership start_at: type: - string - 'null' format: date-time description: The start date from when this membership is valid end_at: type: - string - 'null' format: date-time description: The end date till which this membership is valid account_memberships: type: - array - 'null' items: $ref: '#/components/schemas/AccountMembershipRepresentation' title: TeamMemberRepresentationUpdateRequest ApiErrorResourceType: type: string enum: - CUSTOMER - CUSTOM_FIELD - PLATFORM - PLATFORM_UPTODATE - METER - METER_VALUE - METER_PROPERTY - METER_VALUE_CALCULATION - INGEST_DATA - METER_DATA - CHARGE_DATA - PERSIST_DATA - ADJUSTMENT_DATA - PRODUCT_CATEGORY - PRODUCT - PRODUCT_ITEM - PRICING - PRICING_GROUP - PRICING_ITEM - PRICING_ITEM_CONFIG - PRICING_PLAN_SUBSCRIPTION - PRICING_PLAN_SUBSCRIPTION_GROUP - PRICING_PLAN_SCHEDULE - PRICING_PLAN - PRICING_PLAN_VERSION - QUOTE - QUOTE_VERSION - QUOTE_TEMPLATE - API_KEY - USER - ROLE - PROXY_USER - EXTERNAL_CREDENTIALS - TOKEN - INVOICE - E_INVOICE - PDF - BILLING_ENTITY - FEATURE - MEMBERSHIP - PAYMENT - PAYMENT_ACCEPTOR - PAYMENT_METHOD - PAYMENT_METHOD_OPTIONS - PAYMENT_SCHEDULE - PAYMENT_REQUEST - INTEGRATION - WEBHOOK - FILE - FILE_PROCESSING_SETTINGS - TEAM - DOWNLOAD_URL - CSV_REPORT - REPORT - REPORT_GENERATE_REQUEST - REPORT_CONFIGURATION - REPORT_SUBSCRIPTION - REPORT_DEFINITION - ACCOUNT_GROUP - ENTITY - EVENT_TRACE - EVENT_TRACE_LINK - PRICING_CATEGORY - CONTACT - ALERT_RULE - ALERT - AUDIT_RECORD - PORTAL_URL - AUTHENTICATION_PROVIDER - REPROCESS - APPROVAL_POLICY - APPROVAL_REQUEST - BULK_ACTION - COUPON - PROMOTION_CODE - WALLET - WALLET_TYPE - WALLET_GRANT - WORKFLOW - WORKFLOW_TRIGGER - WORKFLOW_ACTION - CREDIT_TYPE - SIGNATURE_REQUEST - ATTACHMENT - DOCUMENT title: ApiErrorResourceType ApiKeyUpdateRequest: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' description: The id of this API key api_key: type: - string - 'null' description: The API Key itself entity_id: type: - string - 'null' description: The id of the entity that this API key belongs to created_at: type: - string - 'null' description: The creation date of the API key active: type: - boolean - 'null' description: Indicates whether this API key is active or not status: oneOf: - $ref: '#/components/schemas/ApiKeyUpdateRequestStatus' - type: 'null' description: Indicates the status of this API key description: type: - string - 'null' description: Description of this API key, e.g. for describing type/location of usage account_memberships: type: - array - 'null' items: $ref: '#/components/schemas/AccountMembershipRepresentationUpdateRequest' description: Account memberships that this API key has team_memberships: type: - array - 'null' items: $ref: '#/components/schemas/TeamMemberRepresentationUpdateRequest' description: The team memberships that this API key has role_type: oneOf: - $ref: '#/components/schemas/ApiKeyUpdateRequestRoleType' - type: 'null' description: The role assigned to this API key, determining its access level. The default role is ADMINISTRATOR title: ApiKeyUpdateRequest AccountMembershipRepresentationUpdateRequest: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' description: The id of this account membership account_id: type: string description: The id of the account that this membership is for account_reference: type: - string - 'null' description: The reference of the account that this membership is for environment: type: - string - 'null' description: The environment that this membership is for account: oneOf: - $ref: '#/components/schemas/AccountRepresentation' - type: 'null' description: The account that this membership is for type: $ref: '#/components/schemas/AccountMembershipRepresentationUpdateRequestType' description: The type of this membership role_ids: type: array items: type: string description: The roles assigned through this membership roles: type: - array - 'null' items: $ref: '#/components/schemas/Role' description: The roles that belong to this membership title: AccountMembershipRepresentationUpdateRequest AccountMembershipRepresentationCreateRequest: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' description: The id of this account membership account_id: type: string description: The id of the account that this membership is for account_reference: type: - string - 'null' description: The reference of the account that this membership is for environment: type: - string - 'null' description: The environment that this membership is for account: oneOf: - $ref: '#/components/schemas/AccountRepresentation' - type: 'null' description: The account that this membership is for type: $ref: '#/components/schemas/AccountMembershipRepresentationCreateRequestType' description: The type of this membership role_ids: type: array items: type: string description: The roles assigned through this membership roles: type: - array - 'null' items: $ref: '#/components/schemas/Role' description: The roles that belong to this membership title: AccountMembershipRepresentationCreateRequest AccountMembershipRepresentationCreateRequestType: type: string enum: - ADMIN - USER - PARTNER description: The type of this membership title: AccountMembershipRepresentationCreateRequestType UserSearchFilterCreateRequest: type: object properties: resource_id: type: - string - 'null' username: type: - string - 'null' user_type: type: - string - 'null' include_inactive: type: - boolean - 'null' title: UserSearchFilterCreateRequest Role: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' description: Unique identifier for the role name: type: string description: The name of the role description: type: string description: The description of the role entity_id: type: - string - 'null' description: When present the role is created for/by this entity child_role_ids: type: array items: type: string description: Child roles for this role child_roles: type: - array - 'null' items: $ref: '#/components/schemas/RoleChildRolesItems' description: Child roles, with a max depth of 2 title: Role ApiKeyCreateRequestRoleType: type: string enum: - ADMINISTRATOR - READ_ONLY description: The role assigned to this API key, determining its access level. The default role is ADMINISTRATOR title: ApiKeyCreateRequestRoleType ApiKey: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' description: The id of this API key api_key: type: - string - 'null' description: The API Key itself entity_id: type: - string - 'null' description: The id of the entity that this API key belongs to created_at: type: - string - 'null' description: The creation date of the API key active: type: - boolean - 'null' description: Indicates whether this API key is active or not status: oneOf: - $ref: '#/components/schemas/ApiKeyStatus' - type: 'null' description: Indicates the status of this API key description: type: - string - 'null' description: Description of this API key, e.g. for describing type/location of usage account_memberships: type: - array - 'null' items: $ref: '#/components/schemas/AccountMembershipRepresentation' description: Account memberships that this API key has team_memberships: type: - array - 'null' items: $ref: '#/components/schemas/TeamMemberRepresentation' description: The team memberships that this API key has role_type: oneOf: - $ref: '#/components/schemas/ApiKeyRoleType' - type: 'null' description: The role assigned to this API key, determining its access level. The default role is ADMINISTRATOR title: ApiKey TeamMemberRepresentation: type: object properties: team_id: type: - string - 'null' description: The id of this team membership start_at: type: - string - 'null' format: date-time description: The start date from when this membership is valid end_at: type: - string - 'null' format: date-time description: The end date till which this membership is valid account_memberships: type: - array - 'null' items: $ref: '#/components/schemas/AccountMembershipRepresentation' title: TeamMemberRepresentation ApiKeyRoleType: type: string enum: - ADMINISTRATOR - READ_ONLY description: The role assigned to this API key, determining its access level. The default role is ADMINISTRATOR title: ApiKeyRoleType TeamMemberRepresentationCreateRequest: type: object properties: team_id: type: - string - 'null' description: The id of this team membership start_at: type: - string - 'null' format: date-time description: The start date from when this membership is valid end_at: type: - string - 'null' format: date-time description: The end date till which this membership is valid account_memberships: type: - array - 'null' items: $ref: '#/components/schemas/AccountMembershipRepresentation' title: TeamMemberRepresentationCreateRequest securitySchemes: API-Key: type: apiKey in: header name: X-API-KEY JWT-Authentication: type: http scheme: bearer