---
title: "CreateRepositoryPullRequest"
method: POST
path: "/v1/namespaces/{tenant_meta.namespace}/repository-pull-requests"
tags: ["RepositoryPullRequestService"]
---

# CreateRepositoryPullRequest

`POST /v1/namespaces/{tenant_meta.namespace}/repository-pull-requests`

## Request

- Base URL: `https://api.endorlabs.com`
- URL: `https://api.endorlabs.com/v1/namespaces/{tenant_meta.namespace}/repository-pull-requests`
- Auth: none declared

Creates a repository pull request.

The creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource
are already available.

## Path parameters

- `tenant_meta.namespace` string, required

## Request body

- RepositoryPullRequestServiceCreateRepositoryPullRequestBody: The ingested information about a repository pull request.
  - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
    - `ingestion_time` string, date-time, required: Time the object was last ingested.
    - `raw` object, required: Generic representation of the object.
    - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
  - `meta` V1Meta, required: Common fields for all Endor Labs resources.
    - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
    - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
    - `description` string: Resource description. Must be less than 1024 bytes.
    - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
      - `data` string[]
      - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
      - `tenant` string
      - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
    - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
    - `name` string, required: Resource name. Must be 63 characters or less.
    - `parent_kind` string: Parent object resource kind, for example, Project.
    - `parent_uuid` string: Parent object UUID.
    - `references` object: Map of objects referenced in a query API.
    - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
    - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
    - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `version` string: Message version.
  - `spec` V1RepositoryPullRequestSpec
    - `base_commit_hash` string: The base commit hash of the pull request.
    - `close_time` string, date-time: Time that the pull request was closed.
    - `contributor` V1PlatformAccount: PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.
      - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
        - `ingestion_time` string, date-time, required: Time the object was last ingested.
        - `raw` object, required: Generic representation of the object.
        - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
      - `meta` V1Meta, required: Common fields for all Endor Labs resources.
        - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
        - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
        - `description` string: Resource description. Must be less than 1024 bytes.
        - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
          - `data` string[]
          - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
          - `tenant` string
          - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
        - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
        - `name` string, required: Resource name. Must be 63 characters or less.
        - `parent_kind` string: Parent object resource kind, for example, Project.
        - `parent_uuid` string: Parent object UUID.
        - `references` object: Map of objects referenced in a query API.
        - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
        - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
        - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `version` string: Message version.
      - `spec` V1PlatformAccountSpec
        - `create_time` string, date-time: Create time of the platform account.
        - `email` string: The email of the platform account.
        - `external_id` string, required: The ID of the platform account in the orginal platform.
        - `name` string: The name of the platform account.
        - `platform_source` 'PLATFORM_SOURCE_UNSPECIFIED' | 'PLATFORM_SOURCE_GITHUB' | 'PLATFORM_SOURCE_GITLAB' | 'PLATFORM_SOURCE_GITSERVER' | 'PLATFORM_SOURCE_BITBUCKET' | 'PLATFORM_SOURCE_BINARY' | 'PLATFORM_SOURCE_HUGGING_FACE' | 'PLATFORM_SOURCE_AZURE' | 'PLATFORM_SOURCE_ARCHIVE' | 'PLATFORM_SOURCE_EXTERNAL_AI_SERVICE' | 'PLATFORM_SOURCE_GITHUB_ENTERPRISE', required: Type of source control platform a resource was discovered on.
        - `update_time` string, date-time: Update time of the platform account.
      - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
        - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
      - `uuid` string: The UUID of a platform account.
    - `corrected_merge_commit_hash` string: The corrected merge commit hash of the pull request. This field is populated if the original merge_commit_hash is found to be incorrect while fetching check runs. It is calculated by take the commit_id from the "merged" event.
    - `create_time` string, date-time: Time that the pull request was created.
    - `external_id` string, required: The pull request ID in the platform from which it was ingested.
    - `head_commit_hash` string: The head commit hash of the pull request.
    - `is_draft` boolean: Whether the pull request is a draft.
    - `merge_commit_hash` string: The merge commit hash of the pull request.
    - `merge_time` string, date-time: Time that the pull request was merged.
    - `merged` boolean: Whether the PR is merged or not.
    - `merged_by_user` V1PlatformAccount: PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.
      - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
        - `ingestion_time` string, date-time, required: Time the object was last ingested.
        - `raw` object, required: Generic representation of the object.
        - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
      - `meta` V1Meta, required: Common fields for all Endor Labs resources.
        - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
        - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
        - `description` string: Resource description. Must be less than 1024 bytes.
        - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
          - `data` string[]
          - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
          - `tenant` string
          - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
        - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
        - `name` string, required: Resource name. Must be 63 characters or less.
        - `parent_kind` string: Parent object resource kind, for example, Project.
        - `parent_uuid` string: Parent object UUID.
        - `references` object: Map of objects referenced in a query API.
        - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
        - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
        - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `version` string: Message version.
      - `spec` V1PlatformAccountSpec
        - `create_time` string, date-time: Create time of the platform account.
        - `email` string: The email of the platform account.
        - `external_id` string, required: The ID of the platform account in the orginal platform.
        - `name` string: The name of the platform account.
        - `platform_source` 'PLATFORM_SOURCE_UNSPECIFIED' | 'PLATFORM_SOURCE_GITHUB' | 'PLATFORM_SOURCE_GITLAB' | 'PLATFORM_SOURCE_GITSERVER' | 'PLATFORM_SOURCE_BITBUCKET' | 'PLATFORM_SOURCE_BINARY' | 'PLATFORM_SOURCE_HUGGING_FACE' | 'PLATFORM_SOURCE_AZURE' | 'PLATFORM_SOURCE_ARCHIVE' | 'PLATFORM_SOURCE_EXTERNAL_AI_SERVICE' | 'PLATFORM_SOURCE_GITHUB_ENTERPRISE', required: Type of source control platform a resource was discovered on.
        - `update_time` string, date-time: Update time of the platform account.
      - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
        - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
      - `uuid` string: The UUID of a platform account.
    - `name` string: The name of the pull request.
    - `number` integer: The pull request number.
    - `requested_reviewers` V1PlatformAccount[]: The reviewers of the pull request.
      - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
        - `ingestion_time` string, date-time, required: Time the object was last ingested.
        - `raw` object, required: Generic representation of the object.
        - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
      - `meta` V1Meta, required: Common fields for all Endor Labs resources.
        - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
        - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
        - `description` string: Resource description. Must be less than 1024 bytes.
        - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
          - `data` string[]
          - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
          - `tenant` string
          - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
        - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
        - `name` string, required: Resource name. Must be 63 characters or less.
        - `parent_kind` string: Parent object resource kind, for example, Project.
        - `parent_uuid` string: Parent object UUID.
        - `references` object: Map of objects referenced in a query API.
        - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
        - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
        - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `version` string: Message version.
      - `spec` V1PlatformAccountSpec
        - `create_time` string, date-time: Create time of the platform account.
        - `email` string: The email of the platform account.
        - `external_id` string, required: The ID of the platform account in the orginal platform.
        - `name` string: The name of the platform account.
        - `platform_source` 'PLATFORM_SOURCE_UNSPECIFIED' | 'PLATFORM_SOURCE_GITHUB' | 'PLATFORM_SOURCE_GITLAB' | 'PLATFORM_SOURCE_GITSERVER' | 'PLATFORM_SOURCE_BITBUCKET' | 'PLATFORM_SOURCE_BINARY' | 'PLATFORM_SOURCE_HUGGING_FACE' | 'PLATFORM_SOURCE_AZURE' | 'PLATFORM_SOURCE_ARCHIVE' | 'PLATFORM_SOURCE_EXTERNAL_AI_SERVICE' | 'PLATFORM_SOURCE_GITHUB_ENTERPRISE', required: Type of source control platform a resource was discovered on.
        - `update_time` string, date-time: Update time of the platform account.
      - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
        - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
      - `uuid` string: The UUID of a platform account.
    - `state` string: State of the pull request.
    - `summary` string: The summary of the pull request.
    - `update_time` string, date-time: Time that the pull request was updated.
  - `tenant_meta` object: Repository pull request are associated with a tenant. Public repository pull requests are formed under a public tenant.
  - `uuid` string: The UUID of a repository pull request.

## Response `200`

A successful response.

- V1RepositoryPullRequest: The ingested information about a repository pull request.
  - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
    - `ingestion_time` string, date-time, required: Time the object was last ingested.
    - `raw` object, required: Generic representation of the object.
    - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
  - `meta` V1Meta, required: Common fields for all Endor Labs resources.
    - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
    - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
    - `description` string: Resource description. Must be less than 1024 bytes.
    - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
      - `data` string[]
      - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
      - `tenant` string
      - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
    - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
    - `name` string, required: Resource name. Must be 63 characters or less.
    - `parent_kind` string: Parent object resource kind, for example, Project.
    - `parent_uuid` string: Parent object UUID.
    - `references` object: Map of objects referenced in a query API.
    - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
    - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
    - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `version` string: Message version.
  - `spec` V1RepositoryPullRequestSpec
    - `base_commit_hash` string: The base commit hash of the pull request.
    - `close_time` string, date-time: Time that the pull request was closed.
    - `contributor` V1PlatformAccount: PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.
      - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
        - `ingestion_time` string, date-time, required: Time the object was last ingested.
        - `raw` object, required: Generic representation of the object.
        - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
      - `meta` V1Meta, required: Common fields for all Endor Labs resources.
        - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
        - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
        - `description` string: Resource description. Must be less than 1024 bytes.
        - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
          - `data` string[]
          - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
          - `tenant` string
          - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
        - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
        - `name` string, required: Resource name. Must be 63 characters or less.
        - `parent_kind` string: Parent object resource kind, for example, Project.
        - `parent_uuid` string: Parent object UUID.
        - `references` object: Map of objects referenced in a query API.
        - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
        - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
        - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `version` string: Message version.
      - `spec` V1PlatformAccountSpec
        - `create_time` string, date-time: Create time of the platform account.
        - `email` string: The email of the platform account.
        - `external_id` string, required: The ID of the platform account in the orginal platform.
        - `name` string: The name of the platform account.
        - `platform_source` 'PLATFORM_SOURCE_UNSPECIFIED' | 'PLATFORM_SOURCE_GITHUB' | 'PLATFORM_SOURCE_GITLAB' | 'PLATFORM_SOURCE_GITSERVER' | 'PLATFORM_SOURCE_BITBUCKET' | 'PLATFORM_SOURCE_BINARY' | 'PLATFORM_SOURCE_HUGGING_FACE' | 'PLATFORM_SOURCE_AZURE' | 'PLATFORM_SOURCE_ARCHIVE' | 'PLATFORM_SOURCE_EXTERNAL_AI_SERVICE' | 'PLATFORM_SOURCE_GITHUB_ENTERPRISE', required: Type of source control platform a resource was discovered on.
        - `update_time` string, date-time: Update time of the platform account.
      - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
        - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
      - `uuid` string: The UUID of a platform account.
    - `corrected_merge_commit_hash` string: The corrected merge commit hash of the pull request. This field is populated if the original merge_commit_hash is found to be incorrect while fetching check runs. It is calculated by take the commit_id from the "merged" event.
    - `create_time` string, date-time: Time that the pull request was created.
    - `external_id` string, required: The pull request ID in the platform from which it was ingested.
    - `head_commit_hash` string: The head commit hash of the pull request.
    - `is_draft` boolean: Whether the pull request is a draft.
    - `merge_commit_hash` string: The merge commit hash of the pull request.
    - `merge_time` string, date-time: Time that the pull request was merged.
    - `merged` boolean: Whether the PR is merged or not.
    - `merged_by_user` V1PlatformAccount: PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.
      - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
        - `ingestion_time` string, date-time, required: Time the object was last ingested.
        - `raw` object, required: Generic representation of the object.
        - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
      - `meta` V1Meta, required: Common fields for all Endor Labs resources.
        - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
        - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
        - `description` string: Resource description. Must be less than 1024 bytes.
        - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
          - `data` string[]
          - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
          - `tenant` string
          - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
        - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
        - `name` string, required: Resource name. Must be 63 characters or less.
        - `parent_kind` string: Parent object resource kind, for example, Project.
        - `parent_uuid` string: Parent object UUID.
        - `references` object: Map of objects referenced in a query API.
        - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
        - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
        - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `version` string: Message version.
      - `spec` V1PlatformAccountSpec
        - `create_time` string, date-time: Create time of the platform account.
        - `email` string: The email of the platform account.
        - `external_id` string, required: The ID of the platform account in the orginal platform.
        - `name` string: The name of the platform account.
        - `platform_source` 'PLATFORM_SOURCE_UNSPECIFIED' | 'PLATFORM_SOURCE_GITHUB' | 'PLATFORM_SOURCE_GITLAB' | 'PLATFORM_SOURCE_GITSERVER' | 'PLATFORM_SOURCE_BITBUCKET' | 'PLATFORM_SOURCE_BINARY' | 'PLATFORM_SOURCE_HUGGING_FACE' | 'PLATFORM_SOURCE_AZURE' | 'PLATFORM_SOURCE_ARCHIVE' | 'PLATFORM_SOURCE_EXTERNAL_AI_SERVICE' | 'PLATFORM_SOURCE_GITHUB_ENTERPRISE', required: Type of source control platform a resource was discovered on.
        - `update_time` string, date-time: Update time of the platform account.
      - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
        - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
      - `uuid` string: The UUID of a platform account.
    - `name` string: The name of the pull request.
    - `number` integer: The pull request number.
    - `requested_reviewers` V1PlatformAccount[]: The reviewers of the pull request.
      - `ingested_object` V1IngestedObject, required: Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.
        - `ingestion_time` string, date-time, required: Time the object was last ingested.
        - `raw` object, required: Generic representation of the object.
        - `status` 'INGESTED_OBJECT_STATUS_UNSPECIFIED' | 'INGESTED_OBJECT_STATUS_FOUND' | 'INGESTED_OBJECT_STATUS_NOT_FOUND' | 'INGESTED_OBJECT_STATUS_LIGHT', required: - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit, but are not found on a direct lookup.
      - `meta` V1Meta, required: Common fields for all Endor Labs resources.
        - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
        - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
        - `description` string: Resource description. Must be less than 1024 bytes.
        - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
          - `data` string[]
          - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
          - `tenant` string
          - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
        - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
        - `name` string, required: Resource name. Must be 63 characters or less.
        - `parent_kind` string: Parent object resource kind, for example, Project.
        - `parent_uuid` string: Parent object UUID.
        - `references` object: Map of objects referenced in a query API.
        - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
        - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
        - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
        - `version` string: Message version.
      - `spec` V1PlatformAccountSpec
        - `create_time` string, date-time: Create time of the platform account.
        - `email` string: The email of the platform account.
        - `external_id` string, required: The ID of the platform account in the orginal platform.
        - `name` string: The name of the platform account.
        - `platform_source` 'PLATFORM_SOURCE_UNSPECIFIED' | 'PLATFORM_SOURCE_GITHUB' | 'PLATFORM_SOURCE_GITLAB' | 'PLATFORM_SOURCE_GITSERVER' | 'PLATFORM_SOURCE_BITBUCKET' | 'PLATFORM_SOURCE_BINARY' | 'PLATFORM_SOURCE_HUGGING_FACE' | 'PLATFORM_SOURCE_AZURE' | 'PLATFORM_SOURCE_ARCHIVE' | 'PLATFORM_SOURCE_EXTERNAL_AI_SERVICE' | 'PLATFORM_SOURCE_GITHUB_ENTERPRISE', required: Type of source control platform a resource was discovered on.
        - `update_time` string, date-time: Update time of the platform account.
      - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
        - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
      - `uuid` string: The UUID of a platform account.
    - `state` string: State of the pull request.
    - `summary` string: The summary of the pull request.
    - `update_time` string, date-time: Time that the pull request was updated.
  - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
    - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
  - `uuid` string: The UUID of a repository pull request.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-11-03** `4acd9fe15140`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/changes/v1/namespaces/:tenant_meta.namespace/repository-pull-requests/post.md)

---

[API](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference.md) - [All operations](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/revisions/4acd9fe15140?raw)
